![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 290
|
Есть мувиклип Tw1, содержащий моушн-твин.
К нему привязан класс Tw1, через галочку Export to ActionScript. Необходимо вывести его на стэйдж и проиграть определенное количество раз, а затем остановить. На первый взгляд вроде бы простая задача, но очевидного решения придумать не удалось. Поиском по форуму нашел вот этот пост, в котором есть похожие мотивы. В результате получился такой код: package { import flash.display.*; import flash.events.*; import flash.text.*; public class Main extends Sprite { private var tw1:Tw1; private var txt1:TextField; private var playCounter:uint = 1; public function Main() { //--- Выводим мувиклип ---// tw1 = new Tw1(); tw1.x = 100; tw1.y = 100; tw1.name = "Instance1"; addChild(tw1); //--- Выводим счётчик фрэймов ---// txt1 = new TextField(); txt1.x = 10; txt1.y = 300; txt1.autoSize = TextFieldAutoSize.LEFT; txt1.text = "None"; addChild(txt1); tw1.addEventListener(Event.ENTER_FRAME, cycleListener); } private function cycleListener(e:Event):void { txt1.text = e.currentTarget.currentFrame.toString(); if (e.currentTarget.currentFrame == e.currentTarget.totalFrames && playCounter <= 3) { playCounter ++; } else if (playCounter > 3) { tw1.stop(); e.currentTarget.removeEventListener(Event.ENTER_FRAME, cycleListener); // removeChild(e.currentTarget); } } } } 1. Есть ли другой способ решить эту задачу? Странно, но похоже на то, что нет. Ведь обязательно нужно знать момент окончания мувиклипа, а это достигается только условием и вроде бы никак иначе. Выходит, никакими там комбинациями методов stop(); gotoAndStop(); play(); и т.п. это сделать нельзя. 2. Не понимаю, почему не работает строка: если ёё раскомментировать, то будет получена ошибка: Цитата:
|
![]() |
Часовой пояс GMT +4, время: 10:13. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| количество повторов , количество раз , мувиклип |
|
|