переход к другому движущемуся объекту в AS3

Можно ли сдвинуть один объект к другому, который может двигаться?

Насколько я вижу, я могу указать только координаты x, y в качестве движущихся параметров (?)


person smokiespartakus    schedule 25.01.2013    source источник


Ответы (1)


без использования greensock вы можете сделать следующее в качестве базового примера:

addEventListener(Event.ENTER_FRAME, loop);

function loop(e:Event):void{
    if(object1.x<object2.x){
        object2.x-=5;
    }else{
        object2.x+=5;
    }

    if(object1.y<object2.y){
        object2.y-=5;
    }else{
        object2.y+=5;
    }
}

Анимация Greensock требует продолжительности, что означает, что анимация в какой-то момент закончится. Существует плагин dynamicprops, но он также рано или поздно заканчивается, поэтому его нужно делать вручную в течение длительного времени.

Реализация базового трения и/или гравитации добавит реализма (например, умножение числа «5» на величину трения).

person Kayo    schedule 25.01.2013
comment
Спасибо - я проверю это как можно скорее, и я думаю, что смогу сделать некоторое смягчение в зависимости от расстояния между объектами.. ура - person smokiespartakus; 25.01.2013
comment
определенно, вычисление расстояния заранее и использование его в качестве множителя при добавлении или вычитании x/y сделало бы смягчение намного приятнее. - person Kayo; 25.01.2013