![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Сообщений: 102
|
Изучаю Action Script.
Стало необходимо использовать Tween. На чем пишу: CS3, AS2, Flash8 Фрагмент кода: import mx.transitions.Tween;
...
class Car {
...
public function Car(parent:MovieClip, car:Array) {
...
_tween = new Tween();
_tween.onMotionFinished = Delegate.create(this, onMotionFinished);
_tween.onMotionStopped = _tween.onMotionFinished;
}
...
private function onMotionFinished() {
_root.instructions_txt.text = "I'm Here!";
trace(_tween);
}
...
instructions_txt - это текст который поверх всего выводит дебажную инфу. Проблема: onMotionFinished не выполняется (I'm Here! не выводится). Читал статьи про Tween, вроде имена событий написаны без ошибок, но в редакторе, они не подсвечиваются характерным синим цветом. Как быть? Последний раз редактировалось iNils; 13.06.2008 в 17:07. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
А где параметры?
Цитата:
|
|
|||||
|
Регистрация: May 2008
Сообщений: 102
|
Переписал вот так:
import mx.transitions.Tween;
import mx.transitions.easing.*;
import mx.transitions.TweenEvent;
import mx.motion.*;
...
class Car {
...
public function Car(parent:MovieClip, car:Array) {
...
_tween = new Tween();
_tween.addEventListener(TweenEvent.MOTION_FINISH, this.tweenFinished);
}
...
private function tweenFinished(e:TweenEvent) {
_root.instructions_txt.text = "I'm Here!";
trace(_tween);
}
...
Параметры все задаются в другом методе - Я создаю один Tween и одним методом меняю ему параметры на мне нужные и стартую. Последний раз редактировалось iNils; 13.06.2008 в 17:35. |
|
|||||
|
Регистрация: May 2008
Сообщений: 102
|
Цитата:
вместо trace всяких я поставлю код который ТОЛЬКО после отработки твина ставит ему новые параметры. Только вот вызывался бы этот метод сначала... |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Попробуйте сначала написать классическим способом, то есть задавая параметры в new Tween И мультипостинг у нас запрещен. Редактируйте последнее ваше сообщение. |
|
|||||
|
Регистрация: May 2008
Сообщений: 102
|
Заработало. Но остался один косяк.
Сначала опишу что надо получить в конце - объект (мувик) движется по прямым линиям - поворачивает под прямым углом. То есть: - расчитывается начальная и конечная точка прямой - объект двигается (None.easeNone) - как только заканчивается движение идет переход в onMotionFinished - в onMotionFinished расчитывается следующая точка и делается new Tween с новыми настройками переменная твина объявлена одна - то есть каждый раз new Tween инициализируется в одной переменной. Проблемы: 1. На "поворотах" все притормаживается. Движение по кривой получается не плавное а с "паузами" в углах (сделал onMotionFinished, чтобы использовался прежний объект но с другими настройками, а не new Tween - залипать стало меньше, но все равно) 2. Иногда объект не движется, а просто перепрыгивает из начальной точки в конечную - хлоп и все. UPD: Решил проблему 1 перейдя на Regular.easeInOut - дело в том, что объект - машинка - для нее логично ускоряться, а на поворотах снижать скорость - выглядит естественно. С перепрыгиванием бы теперь решить ![]() UPD: Все проблемы решены ))Последний раз редактировалось ekeeper; 17.06.2008 в 16:46. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|