![]() |
|
||||||||||
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Написал интересный класс SmoothMover, который дополняет собой любой Мувиклип. Добавляет два параметра smoothX, smoothY. Как только значения в параметрах меняется, он плавно двигает Мувик к зананным координатам, по заданной формуле.
Класс немного похож на TransitionManager, но несколько более прост в обращении. Меня смущает что внутри класса работает setInterval, который собственно и следит за изменившимися значениями smoothX и smootY. Может кто-то делал проще? |
|
|||||
|
М... а реализацию можно посмотреть? Как её можно упростить не увидев =).
setInterval что вызывает? |
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
package classes.movers
{
import classes.parsers.Easing;
import fl.transitions.Tween;
import flash.utils.*;
public class SmoothMover
{
private var tweenX, tweenY;
private var duration;
private var typeMotion;
private var object;
public function SmoothMover ( object, typeMotion, duration )
{
object.smoothX = object.x;
object.smoothY = object.y;
this.object = object;
this.typeMotion = typeMotion;
this.duration = duration;
tweenX = new Tween ( object, "x", typeMotion, object.x, object.smoothX, duration, false );
tweenY = new Tween ( object, "y", typeMotion, object.y, object.smoothY, duration, false );
setInterval ( move, 100 );
}
static public function add ( object, t:String, mot:String, duration:Number )
{
if (object.smoothMover == undefined)
{
object.smoothMover = new SmoothMover ( object, Easing.get ( t, mot ), duration );
}
}
private function move ()
{
if ( tweenX.isPlaying )
{
tweenX.continueTo ( object.smoothX, duration );
tweenY.continueTo ( object.smoothY, duration );
}
else
{
tweenX = new Tween ( object, "x", typeMotion, object.x, object.smoothX, duration, false );
tweenY = new Tween ( object, "y", typeMotion, object.y, object.smoothY, duration, false );
}
}
}
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Мда, типизировать переменные и возвраты вам явно лень…
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 30
|
А чем плох Tweener или TweenLite?
|
|
|||||
|
UFO
Регистрация: Jul 2007
Сообщений: 173
|
Ничем не плох, мой класс легче в использовании. Можно легко задавать налету новые таргет точки. Ну вобщем Твинер тоже супер, но это я сам писал =)))
|
|
|||||
|
Регистрация: Jan 2007
Сообщений: 8
|
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 30
|
) Я имел ввиду что в более-менее насыщенных в плане анимаций проектах как правило приходится иметь дело с секвенциями и последовательностями, это требует централизации кода - что то вроде TweenManager, который слушает события и выполняет все необходимые анимации. Идеи которые кажутся хорошими на практике не всегда дают прирост производительности - знаю по себе )
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|