PDA

Просмотр полной версии : Как промотать часть программного твина.


MyXus
05.09.2006, 23:51
Сабж.
Голову уже сломал.
Проще свой твин написать.. :-(

АПД: написал свой твин
Кому понадобится - отдам исходник.
Функционал пока сильно послабее чем у оригинальной компоненты, но я его буду постоянно наращивать.
Пока умеет старт, стоп, yoyo, продолжить, установить позицию (абсолют или в процентах), обрабатывает событие onMotionFinished.

APD2: сделал твинниг: без изменения ускорения, с линейным ускорением, параболическим, синусоидальным и косинусоидальным. Правда пока не тестил хорошо. Завтра оттесчу.

Жень Шень
06.09.2006, 12:04
Привет!
Посмотри здесь. 8 топик. Может то, что надо. (http://www.flasher.ru/forum/showthread.php?t=78629)

Nirth
06.09.2006, 12:12
промотать mx.transitions.Tween? советую обратить внимание на свойство position

MyXus
06.09.2006, 14:14
промотать mx.transitions.Tween? советую обратить внимание на свойство positionПервым делом обратил..Property (read-only); the current value of the target object property being tweened. This value updates with each drawn frame of the tweened animation.Оно ридонли. Это ведь не меняется?

MyXus
06.09.2006, 14:21
Привет!
Посмотри здесь. 8 топик. Может то, что надо. (http://www.flasher.ru/forum/showthread.php?t=78629)Спасибо, но сочетание методов stop()+resume() дают возможность промотать со временем, а мне нужно мгновенно.
Я перепробовал кучу вариантов. Даже такой как for(i=0;i<n;i++) {
my_twn.nextFrame();
}Но проблема в том что у меня столько твинов, и в них столько кадров, что такой код вешает флэш :-)

Есть еще решение - использовать метод contineTo(). Для этого придется делать так:
1) continueTo
2) fforward()
3) onMotionFinished + установить флаг первого выполнения
4) continueTo
Слишком громоздко. Я решил что лучшей альтернативой такому решению будет написать свой твин..

MyXus
06.09.2006, 17:45
Вот то что наработано на текущий момент (полная демонстрашка).
Код грязный. Это только демо.

АПД. зря брезгуете. он даже быстрее чем встроенный :-) Процентов на 7 :~)