PDA

Просмотр полной версии : Плавное перемещение в AS 2.0


Prometei1599
17.01.2011, 17:21
Всем доброго дня!
Заранее прошу меня извинить за неумение пользоваться поиском. Тороплюсь.

По сабжу.
Пробовал обращаться за помощью к setInterval и clearInterval:

c.stop();

var ID:Number = 0;
var a:Number = 0.9;
var dx:Number = 50;

b.onPress = function() {
ID = setInterval(movement, 15);
};

movement = function () {
dx*=a;
if(dx>0.5)
c._x = c._x-dx;
else{
clearInterval(ID);
}
return;
};

и вроде как работает, но на один раз. При повторном нажатии на кнопку b ничего не происходит.

Слышал про Tween, но он используется в AS3(или я что-то путаю).

Подскажите пожалуйста, есть ли простой способ реализации плавного движения(хотя бы по одной оси координат) или мне дальше возиться с setInterval/clearInterval?

Заранее спасибо!

Anton Riot
17.01.2011, 18:15
дай-ка угадаю:
dx*=a;
dx уменьшается, уменьшается, и становится меньше 0.5.
if(dx>0.5)
и больше ничего не происходит.

Что удивительного?

Prometei1599
17.01.2011, 19:37
Да, это я уже заметил после сообщения=)

Вообщем вопрос решился, кроме одного: Tween только в AS3 присутствует?

КорДум
17.01.2011, 22:18
Слышал про Tween, но он используется в AS3(или я что-то путаю).
Есть TweenLite для as2. Но можно использовать его и в вашем as1. Синтаксисы похожи c as3 TweenLite, только свойства отличаются (_x/x)

Prometei1599
18.01.2011, 16:24
Спасибо за помощь!