Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 29.08.2009, 01:49
Olmer вне форума Посмотреть профиль Отправить личное сообщение для Olmer Посетить домашнюю страницу Olmer Найти все сообщения от Olmer
  № 1  
Ответить с цитированием
Olmer
 
Аватар для Olmer

Регистрация: Feb 2006
Адрес: Луганск
Сообщений: 103
По умолчанию Анимация помощью AnimatorFactory

Такая проблемка.
Есть класс Animation

Код AS3:
package com.olmer.utils {
 
	import fl.motion.AnimatorFactory;
	import fl.motion.MotionBase;
	import flash.filters.*;
	import flash.geom.Point;
	import fl.motion.Motion;
	import flash.display.DisplayObject;
 
	public class Animation {
		public static function respell (object:DisplayObject) {
			//object.alpha = 0;
			var __motion_disk:MotionBase;
 
			if(__motion_disk == null) {
				__motion_disk.overrideTargetTransform();
				__motion_disk = new Motion();
				__motion_disk.duration = 20;
				__motion_disk.overrideTargetTransform();	
				__motion_disk.addPropertyArray("x", [0]);
				__motion_disk.addPropertyArray("y", [0]);
				__motion_disk.addPropertyArray("scaleX", [1.000000]);
				__motion_disk.addPropertyArray("scaleY", [1.000000]);
				__motion_disk.addPropertyArray("skewX", [0]);
				__motion_disk.addPropertyArray("skewY", [0]);
				__motion_disk.addPropertyArray("rotationConcat", [0]);
				__motion_disk.addPropertyArray("blendMode", ["normal"]);
				__motion_disk.addPropertyArray("alphaMultiplier", [0.000000,0.043684,0.087368,0.131053,0.174737,0.218421,0.262105,0.305789,0.349474,0.393158,0.436842,0.480526,0.524210,0.567895,0.611579,0.655263,0.698947,0.742631,0.786316,0.830000]);
 
				var __animFactory_disk:AnimatorFactory = new AnimatorFactory(__motion_disk);
				__animFactory_disk.transformationPoint = new Point(0.500000, 0.500000);
				trace("Respell");
				__animFactory_disk.addTarget(object, 1);
 
			}
		}
 
		public static function dispell (object:DisplayObject) {
			//object.alpha = 100;
			var __motion_disk:MotionBase;
 
			if(__motion_disk == null) {
				__motion_disk = new Motion();
 
				__motion_disk.duration = 20;
 
				__motion_disk.addPropertyArray("x", [0]);
				__motion_disk.addPropertyArray("y", [0]);
				__motion_disk.addPropertyArray("scaleX", [1.000000]);
				__motion_disk.addPropertyArray("scaleY", [1.000000]);
				__motion_disk.addPropertyArray("skewX", [0]);
				__motion_disk.addPropertyArray("skewY", [0]);
				__motion_disk.addPropertyArray("rotationConcat", [0]);
				__motion_disk.addPropertyArray("blendMode", ["normal"]);
				__motion_disk.addPropertyArray("alphaMultiplier", [1.000000,0.947368,0.894737,0.842105,0.789474,0.736842,0.684211,0.631579,0.578948,0.526316,0.473684,0.421053,0.368421,0.315790,0.263158,0.210526,0.157895,0.105263,0.052632,0.000000]);
				var __animFactory_disk:AnimatorFactory = new AnimatorFactory(__motion_disk);
				__animFactory_disk.transformationPoint = new Point(0.500000, 0.500000);
				trace("Dispell");
				__animFactory_disk.addTarget(object, 1);
 
			}
		}
	}
}

Из другого класса пытаюсь на наведение заставить его обьект исчезнуть, а потом появиться.

Код AS3:
package com.olmer.radio {
 
	import com.olmer.utils.Animation;
	import flash.display.MovieClip;
	import flash.events.MouseEvent;
 
	public class MainView extends MovieClip {
 
		public function MainView () {
			disk.addEventListener(MouseEvent.MOUSE_OVER, dispellMenu);
			disk.addEventListener(MouseEvent.MOUSE_OUT, respellMenu);
		}
 
		private function respellMenu (event:MouseEvent) {
			Animation.respell(this);
		}
 
		private function dispellMenu (event:MouseEvent) {
			this.alpha = 100;
			Animation.dispell(this);
		}
	}
}
Но почему-то, когда отвожу мышку объект не появляется, а при повторном наведении вообще ничего не происходит.

Возможно есть какие-то моменты в использовании такого рода програмной анимации.

Пробовал делать исчезание через обычный Tween, но когда ставлю property: "alpha" или "alphaMultiplier" ничего не происходит.

Создать новую тему   Часовой пояс GMT +4, время: 00:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:52.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.