PDA

Просмотр полной версии : ускорение и замедление движения объектов


poison67
11.01.2008, 15:55
есть клип, есть курсор. как сделать чтобы клип бегал за курсором? при этом сначала он должен ускоряться, потом идти с какой-то постоянной скоростью, а когда приближается к курсору - замедляться.

где не искал есть только как сделать замедление, а про ускорение так ничего и не нашел :(

Aziz Zaynutdinoff
11.01.2008, 16:10
если

var dx : Number = (tox - this._x) / speed;
this._x += dx;

speed должен динамически меняться, тем самым меняя значение смещения то в большую, то в меньшую сторону (в зависимости от того, какого эффекта вы хотите достичь: ускорения или замедления)

PS
также можете посмотреть на формулы, которые приведены в Tween-классе, для функций easeIn, easeOut, easeInOut

NoCD
14.01.2008, 21:56
attachMovie("mc","mc",1)
mc._x=100
mc._y=200
function glideToMouse()
{
mc._x+=(_xmouse-mc._x)*.2
mc._y+=(_ymouse-mc._y)*.2
}

this.onEnterFrame=function()
{glideToMouse()}



или


attachMovie("mc","mc",1)
mc._x=100
mc._y=200
function glideToMouse()
{
mc._x+=(_xmouse-mc._x)*.2
mc._y+=(_ymouse-mc._y)*.2
}
this.onMouseDown=function()
{
this.onEnterFrame=this.glideToMouse}
this.onMouseUp=function()
{delete this.onEnterFrame}

mc - клип
В первом случаем движение за курсором
Во втором случае движение по щелчку мыши