![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jun 2005
Сообщений: 104
|
Мне нужно реализовать задержку на 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
Регистрация: Jun 2005
Сообщений: 1,805
|
А нужно обязательно по таймлайну или можно просто задержку?
|
|
|||||
|
Регистрация: Jun 2005
Сообщений: 104
|
да, можно просто задержку.
я при обработке одного узла дерева запускаю соответсвующий ему мувик, надо чтобы этот мувик успел проиграться, а только затем цикл перешел на следующий шаг |
|
|||||
|
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 |
|
|||||
|
4AM Games
|
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|