PDA

Просмотр полной версии : запуск перемещаемого мувика подвешивает tween


mikhailk
03.12.2009, 18:06
Может кто подскажет, что-то нет никаких идей.


public function gotoPosition(targetX:int,targetY:int) {
//personageFromLibrary.gotoAndPlay(1);
var tweenX:Tween = new Tween(pers, "x", None.easeNone, personageFromLibrary.x, targetX, 2, true);
var tweenY:Tween = new Tween(pers, "y", None.easeNone, personageFromLibrary.y, targetY, 2, true);
tweenX.addEventListener(TweenEvent.MOTION_FINISH, stayAtThisTime);
}
private function stayAtThisTime(e:Event) {
personageFromLibrary.gotoAndStop(45);
}


так все работает штатно.
однако, если я пытаюсь запустить ролик в момент перемещения ( убираю комменты в строчке personageFromLibrary.gotoAndPlay(1) ), то раз на раз не приходится. Мувик начинает движение всегда, но примерно в 20 процентах случаев движение стопорится примерно на половине и событие MOTION_FINISH так и не наступает.

Пробовал и движение по одной координате (комментил tweenY), роли это не играет.

bicubic_bublic
03.12.2009, 18:17
Попробуйте так:?

private var tweenX:Tween;
private var tweenY:Tween;
public function gotoPosition(targetX:int,targetY:int) {
personageFromLibrary.gotoAndPlay(1);
tweenX = new Tween(pers, "x", None.easeNone, personageFromLibrary.x, targetX, 2, true);
tweenY = new Tween(pers, "y", None.easeNone, personageFromLibrary.y, targetY, 2, true);
tweenX.addEventListener(TweenEvent.MOTION_FINISH, stayAtThisTime);
}

mikhailk
03.12.2009, 18:37
помогло ))
хотя и смахивает немного на шаманство

Kuruki
03.12.2009, 20:16
Никакого шаманства. Твин, будучи локальной переменной функции, убивался после ее выполнения