![]() |
|
||||||||||
|
|||||
|
Как можно остановить проигрывание если имеются вложенные мувчики.
Перебором не получается. В ходе повествования вложенные мувчики подгружаются и выгружаются. |
|
|||||
|
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
_root.stop();
|
|
|||||
|
Какой вопрос такой ответ,
Ну эт понятно. Но фокус то в том что вложенные мувчики анимированные и они продолжают проигрываться. Фокус как раз и состоит в том чтоб остановить все воспроизводимое в данный момент. При чем прикол сосоит в том что управлять хотелось бы из внешней программы (С#). Я понимаю что передаю во флешку какую-то переменную и через setInterval торможу или запускаю воспроизведение. |
|
|||||
|
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
неуверен...но нужно прочитать про слушателей...сделать мувики слушателями рут...и если рут стоп то и они тоже стоп...но не уверен...
_root.addListener(MovieClip) |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 221
|
Кроме корректного перебора ничего пока неприходит в голову.
Помести все клипы которыми ты хочешь управлять в плоскость (массив или объект) и тормози их наздоровье... setIntrval применяется в основном для управления кодом, но не хардкодед анимацией. ps Поконкретнее почему не подходит перебор, и что под ним подразумевается? Если проблема в динамической загрузке, то это не проблема. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
тебе нужно у каждого из проигрываемых мувиков вызвать stop()
чтобы это сделать, тебе нужны ссылки на них. как сделать - зависит от того, сколько их у тебя. можно, наример, сделать все такие клипы экземплярами одного класса, и в классе назначить им onLoad и onUnload. класс будет содержать статическое свойство - массив своих экземпляров. при onLoad экземпляр себя добавляет в массив, при onUnload себя удаляет. и в любой момент ты можешь пробежаться по массиву экземпляров класса и все клипы застопить. а можно проще и тупее :)0 в руте написать: heap = {}; в каждый клип ручками поставить что-то типа такого: _root.heap[this] = this; this.onUnload = fucntion () { delete _root.heap[this]; } и в любой момент перебором for (var i in _root.heap) { ... } ты получишь ссылки на все клипы в виде _root.heap[i] в если клипов 3-5 штук, то можно и просто ссылки на них прописать заранее. :) Последний раз редактировалось Nox Noctis; 16.12.2005 в 13:00. |
|
|||||
|
http://www.flasher.ru/forum/showthread.php?t=73241
это написали пример как обратиться к вложеным мувикам, если эту немного подправить функцию вызывать рекурсивно, то можно перебрать все вложеные мувики заданного мувика. общение с Си, - незнаю как с си (думаю тоже самое т.к. устанавливаеться один и тотже актив х компонент), но в делфях есть возможность присваивать/получать значение переменной по ее имени(может есть и вызвать функцию скакимито параметрами (но я не нашел %(( )), в своем случае я определил гетер и сеттер для класса который у меня манипулировал с моими данными, таким образом я из делфей звал свой класс : "эй мой_класс я те тут данных подсуетил, возьми их я их положу в твою пропертю нью_дата, а мой_класс брал эти данные творил свои добрые/злые (кто что любит) дела" |
|
|||||
|
Nox Noctis + добавить к классу статический метод с пробеганием по массиву и остановкой мувиков (можно и рекурсивно). Его и вызывать.
Последний раз редактировалось Dimchansky; 16.12.2005 в 16:41. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
главное не перегибать :)
может там всего 5 клипов, которые надо останавливать. в таком случае я бы лучше написал ссылки вручную за 1 минуту, чем делать для них класс за 15 минут. :) |
|
|||||
|
зато 1 раз и навсегда, вместо 1 минуты каждый раз )
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:13. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|