|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+2 07.04.09]
Регистрация: Feb 2009
Сообщений: 70
|
как остановить анимацию на определенном кадре?
Здравствуйте.
есть мувиклип к которому привязан класс. и нужно сделать чтоб при нажатии кнопки играла анимация со 2ого кадра. как прописать чтоб если анимация дошла до 40ого кадра и останавилась на нем. когда пишу в кадре stop(); все работает. но мне нужно знать как сделать это програмно. вот код с которым работаю: package { import flash.display.MovieClip; import flash.events.MouseEvent; public class MenuForSite extends MovieClip { public function MenuForSite() { menu_btn.buttonMode = true; menu_btn.addEventListener(MouseEvent.CLICK, onClick); stop(); function onClick(e:MouseEvent):void { if (currentFrame == 1) { gotoAndPlay(2); } else if (currentFrame == 40) { gotoAndPlay(41); } } } } } |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
addFrameScript
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
[+2 07.04.09]
Регистрация: Feb 2009
Сообщений: 70
|
я пробовала так
да движение останавливается но при повторном нажатии на кнопку должна проигрыватся другая анимация, но она так и остается на стоп |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Эм... а play() использовали?))
Хотя, помню была похожая проблема. Времени детально заняться её изучением не было, в голову пришло не изящное, но тем не менее работающее решение - просто перекрыть stop другой ф-цией. Например, после нажатия на кнопку применить
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: Sep 2007
Сообщений: 112
|
Зайдите сюда http://blog.greensock.com/tweenmaxas3/. Здесь есть удобный твинер.
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
А как это связано с вопросом?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
package { import flash.display.MovieClip; import flash.events.MouseEvent; public class MenuForSite extends MovieClip { public function MenuForSite() { menu_btn.buttonMode = true; menu_btn.addEventListener(MouseEvent.CLICK, onClick); addEventListener(Event.ENTER_FRAME, stopIfNeeded); stop(); } function onClick(e:MouseEvent):void { if (currentFrame == 1) { gotoAndPlay(2); } } function stopIfNeeded(e:Event):void { if (currentFrame == 40) { stop(); removeEventListener(Event.ENTER_FRAME, stopIfNeeded); } } } }
__________________
Дело не в тебе |
|
|||||
Banned
[+5 23.05.09]
[+1 23.05.09] Регистрация: Mar 2009
Сообщений: 93
|
Какой кошмар. Как-то не приходилось останавливать мувик на определенном кадре и не задумывался над реализацией. Даже не думал, что для того, чтобы остановить мувик на опреденном кадре, надо анализировать каждый кадр.
По отношению к АС2 первый реальный (в моей шкале ценностей) "провис" АС3. Хотя для чего-то же так сделано (или точнее - не сделано). |
|
|||||
Это просто способ без addFrameScript, последний не рассматриваем, т.к. он не документирован.
Вообще, я не вижу в чем проблема - взяли и написали в кадре stop и все. Всякие заморочки вроде "писать только используя внешние файлы классов" - не более, чем идолопоклонничество. В мувииклипах почему бы stop() и не расставить где надо?
__________________
Дело не в тебе |
Часовой пояс GMT +4, время: 02:52. |
|
« Предыдущая тема | Следующая тема » |
|
|