PDA

Просмотр полной версии : Позиционирование при анимации объектов


Randomizer
12.05.2009, 18:48
Столкнулся с проблемой. В моем ролике есть мувик с анимацией влетающего на стол листа бумаги. Лист бумаги должен точно находится по центру флэшки, когда он "прилетает".
Центруется кодом

list._x = (Stage.width-list._width)/2;
list._y = (Stage.height-list._height)/2;

но во время "полета" лист находится за областью видимости (рабочего поля) и получается так, что мой код ставит лист в центр на каждом кадре анимации. Получается так, что лист вообще все время стоит в центре экрана и никуда не летит О_о

Нужно заставить лист прилетать точно в центр ролика. Помогите плз :bye:

mooncar
12.05.2009, 18:53
Без знания того, как организовано ваше "прилетает", вряд ли можно что-то сказать.

Randomizer
12.05.2009, 19:26
Вот собственно пример моей проблемы.
Запустите, а потом попробуйте изменить размер окна проигрывателя... листы после этого встанут в центр.

Stargazer
12.05.2009, 21:19
Код не смотрел, но выдам версию.

По описанию похоже, что вы попытались вмешаться в процесс анимации клипа. Если используете tween и во время анимации tween'ом вы что-то измените в плане отображения анимируемого элемента - то анимация прервётся.

aksios
13.05.2009, 01:24
Randomizer, у Вас в клипе с листиком банально стоп прописан.
Я бы немного поправил:
Stage.scaleMode = "noScale"
var myListener:Object = new Object();
myListener.onResize = function () {
//----------------------------- POSITION OF OBJECTS ---------------------------------------
......
}

Stage.addListener(myListener);
// later, call Stage.removeListener(myListener)

Randomizer
14.05.2009, 00:10
aksios, спасибо, уже намного лучше, но попробуйте с вашим примером поресайзить ролик.. Весь мувик резко сдвинется влево =(

aksios
14.05.2009, 02:37
У меня все нормально позицинируется.