![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2006
Адрес: Луганск
Сообщений: 103
|
Такая проблемка.
Есть класс Animation 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); } } } } Из другого класса пытаюсь на наведение заставить его обьект исчезнуть, а потом появиться. 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. |
|
|
« Предыдущая тема | Следующая тема » |
|
|