|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2005
Сообщений: 104
|
задержка на 10 кадров внутри метода класса
Мне нужно реализовать задержку на 10 кадров внутри цикла, используемого методом класса, реагирующим на нажатие клавиши. подскажите как.
|
|
|||||
Modus ponens
|
Если класс наследует свойства MovieClip'a, то у него тоже будет метод onEnterFrame...
Примерный код: class MyClass extends MovieClip { function MyClass(mc:MovieClip) { var counter:Number = 0; mc.onEnterFrame = function() { if (counter<10) { trace("paused, frame# "+counter); } else { trace("playing "+counter); delete this.onEnterFrame; } counter++; }; } } // Инициализация var _l1:MovieClip = _root.createEmptyMovieClip("target_mc", 0); with(_l1){ beginFill(0, 100); moveTo(0, 100); lineTo(100, 100); lineTo(100, 200); lineTo(0, 200); lineTo(0, 100); endFill(); } var my_pause:MyClass = new MyClass(_l1); _____ Брррр... чет не совсем понятно... кто на что реагировать должен, какие-то нескладушки с падежами вышли =) Перепиши, плс, вопрос поподробнее, если честно, я запутался %)
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 27.09.2006 в 06:42. |
|
|||||
Регистрация: Jun 2005
Сообщений: 104
|
мой класс наследует свойства мувиклипа. внутри метода onRelease, моего класса, я обхожу XML-дерево. обхожу в цикле каждый узел. вот внутри этого цикла мне надо сделать задержку в десять кадров, чтобы обработав один узел я не переходил к следующему сразу.
или, иначе говоря, мне надо растянуть цикл обхода дерева по тайм лайну. может обход засунуть в onEnterFrame? только как.... или если взять Ваш пример, мне нужно вствить задержку после каждого lineTo Последний раз редактировалось Фломастер; 27.09.2006 в 13:34. |
|
|||||
Banned
[5 01.09.2006]
Регистрация: Jun 2005
Сообщений: 1,805
|
А нужно обязательно по таймлайну или можно просто задержку?
|
|
|||||
Регистрация: Jun 2005
Сообщений: 104
|
да, можно просто задержку.
я при обработке одного узла дерева запускаю соответсвующий ему мувик, надо чтобы этот мувик успел проиграться, а только затем цикл перешел на следующий шаг |
|
|||||
4AM Games
|
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
Modus ponens
|
Цитата:
Я бы наверное запихал нужную функцию в onEnterFrame, и проверял _currentframe мувика который должен играть в промежутках. ну или вот еще такой вариант (инициализация такая же) class MyClass extends MovieClip { function MyClass(mc:MovieClip) { var counter:Number = 0; var c_node:Number = 0; var _xml:XML = new XML("<r_node><c_node t='0'/><c_node t='1'/><c_node t='2'/><c_node t='3'/><c_node t='4'/></r_node>"); mc.onEnterFrame = function() { if (counter<10) { trace("paused, frame# "+counter+" watched node "+_xml.childNodes[0].childNodes[c_node].attributes.t.toString()); } else { trace("playing "+counter); counter = 0; c_node++; if (c_node>=_xml.childNodes[0].childNodes.length) { delete this.onEnterFrame; } } counter++; }; } }
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 15:26. |
|
« Предыдущая тема | Следующая тема » |
|
|