![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2009
Сообщений: 15
|
Я полный ноль в AS, но есть задача и ее необходимо решить.
Необходимо управлять и иметь доступ к объекту подгруженного мувика. var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth()); var mcLoader:MovieClipLoader = new MovieClipLoader(); mcLoader.addListener(this); mcLoader.loadClip("24.swf", container); //подгружаем внешний мувик function onPress (target_mc:MovieClip) { trace (target_mc._currentframe); //здесь хочу узнать текущий номер фрейма } function onLoadInit (target_mc:MovieClip) { trace (target_mc._totalframes); //количество фреймов подгруженного мувика } |
|
|||||
|
Модрон-ветеринар
|
Аналогия тут не годится.
onLoadInit - это анонимная функция-обработчик слушателя, которым в данном случае выступает сам текущий ролик, точнее, уровень таймлайна, где записан этот код. А onPress же должно относится к загружаемому ролику. Нужно записать так: var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth()); var mcLoader:MovieClipLoader = new MovieClipLoader(); mcLoader.addListener(this); //тут this - это текущий таймлайн mcLoader.loadClip("24.swf", container); //подгружаем внешний мувик this.onLoadInit = function (target_mc:MovieClip) { //все операции с загруженным роликом выполняем строго внутри onLoadInit, в том числе и назначение ему ф-ии обработки события onPress trace (target_mc._totalframes); target_mc.onPress = targetOnPress; } function targetOnPress () { trace(this._currentframe) //а тут this - это загруженный ролик } Последний раз редактировалось mooncar; 04.11.2009 в 20:53. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 15
|
Не работает. Событие нажатия мышкой не обрабатывается.
|
|
|||||
|
Модрон-ветеринар
|
Нет, код верный.
Не работать может, если, например, в загруженном ролике нет заливки в месте, где делается клик. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 15
|
Попробовал с другими SWF-ми, с некоторыми работает, но попрежнему выводит 1 - номер "родительского" фрейма, а не подгруженного. В onLoadInit я могу получить количество кадров подгруженного мувика. Необходимо в любое время знать текущий (проигрываемый) номер кадра.
|
|
|||||
|
Модрон-ветеринар
|
Проверьте:
function targetOnPress () { //trace(this._currentframe) //а тут this - это загруженный ролик trace(this) } То есть this указывает на загруженный ролик, а трейс this._currentframe выведет именно текущий кадр загруженного. Если не верите, см. приложенный пример. Последний раз редактировалось mooncar; 05.11.2009 в 13:27. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 15
|
У меня выводит: _level0.application.container
Спасибо за ответы, я для начала разберусь с версиями своих флешек и самой IDE, а то не могу открыть Ваши примеры. Добавлено через 57 часов 2 минуты Спасибо, все работает. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|