![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 6
|
Гружу podarki.swf в мувиклип podarki_mc
никак не могу сделать чтобы срабатывали обработчики событий для объектов которые лежат в загруженном мувике. Обработчики событий написаны в ключевом кадре на корневой диаграмме корневого файла, а мувик с именем экземпляра pencil лежит в згружаемом swf'е. Обработчик такого плана: pencil.onRollOver = function() { _root.cursor.gotoAndStop (2); }; pencil.onPress = function() { //trace("_mc.onPress "+this); this.onEnterFrame = function() { this._x += (_root._xmouse-this._x)/2*m; this._y += (_root._ymouse-this._y)/2*m; this._rotation = (_root._xmouse-this._x)/9*m; this._rotation = (_root._xmouse-this._y)/9*m; this.swapDepths(_root.getNextHighestDepth()); cursor.gotoAndStop (3); cursor.swapDepths(_root.getNextHighestDepth() + 1); }; }; пробовал обращаться к pencil по пути podarki_mc.pencil. Ничего не работает. Реализуема ли обработка событий с внешнего таймлайна объектов загруженного свфа и как? |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 6
|
silin, скорее всего не из за этого. загрузил подарки в новый файл создал обработчик для pencil. Все равно не работает.
Причем другие методы работаю нормально. К примеру вот здесь, по клику на newZone, которая лежит в руте, pencil реагирует. Едет, правда куда-то нетуда пока)) Видимо мышинные обработчики как-то специфически работают, в такой ситуации. Буду разбираться. Последний раз редактировалось iNils; 01.12.2008 в 19:05. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
А не работает по элементарной причине - нет никакого pencil в тот момент, когда Вы вешаете код - он еще не загрузился. А loadMovie отменили в начале этого века, в частности по причине его непригодности к отслеживанию загрузки. Используйте MovieClipLoader и будет Вам счастье.
__________________
Reality.getBounds(this); |
|
|||||
|
Guest
Сообщений: n/a
|
Есть мувик (clip_mc), в кадре которого написан следующий код:
Когда мувик загружается он перводиться на этот кадр, после чего отображается его значение _root.attachMovie(clip_mc,"obj_mc", 1); trace(place.obj_mc.Des.elname); // !!! undefined !!! Такое ощущение, что пока каким-либо образом не активируешь клип, флэш притворяется что и знать не знает, что там у клипа внтури .Вопрос: почему? и как это можно исправить? Последний раз редактировалось Xero201; 01.12.2008 в 19:59. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Ответ прост:
Ничего не подгружаете, на главной временной диаграме пишите трейс "главная диаграмма", кидаете на нее какой-нибудь мувик и в нем делаете трейс "привет из мувика". Внимательно анализируете трейсы. Заходите в паблиш сеттинг, окошко лоад ордер - меняете значение. Внимательно анализируете трейсы. add: Потом на главной диаграмме добавляете новый слой, пишите в нем трейс "новый слой". Повторяете эксперимент с лоад ордер. Можно еще такой же слой в мувике создать "Привет из нового слоя". Крайне познавательно... Последний раз редактировалось chingachgoog; 01.12.2008 в 20:09. |
|
|||||
|
Guest
Сообщений: n/a
|
Возможно я чего-то не догнал (или не правильно объяснил), но не очень понятна фраза "ничего не подгружается". Когда запускается swf то клип там есть, и если по нему щелкнуть в трейсе появятся все его свойства. Но если попробовать выводить их программно, без каких либо действий с мувиком то выскакивает "undefined".
Согласно вашим советам вписал на главную диаграмму парочку трейсов в результате вижу: Возможно это и познавательно, но что именно нужно познать из этого не знаю, если не сложно нельзя ли по подробнее. Заранее спасибо |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Во флеше код не выполняется параллельно, а выполняется последовательно. Вот порядок выполнения кода флеша вы и можете изучить на примере выше.
|
|
|||||
|
Guest
Сообщений: n/a
|
Цитата:
Тогда вообще черт знает как они там выполняются .А вообще большое спасибо, я сразу и не догнал что трейсы мувика должны быть между "Главная диаграмма слой команда загрузки мувика" и "Программный вывод после создания мувика: undefined" Ну я и дебил... Но почему номер фрейма считывается, а значения расположенные в этом фрейме - нет: _root.attachMovie(clip_mc,"obj_mc", 1); _root.obj_mc.gotoAndStop("frame_with_code"); trace(_root.obj_mc._currentframe);// выводит правильный номер фрейма (например 10) trace(place.obj_mc.Des.elname); // !!! undefined !!! Цитата:
. Ведь у меня клип создается (attachMovie) а не загружается (loadMovie). И слушатель из той темы не ловит это событие. Хотя может и я криво его вставил . Еще пробавал узнавать аргументы клипа после события onLoad и тоже ничего не получилось. _root.attachMovie(clip_mc,"obj_mc", 1); _root.obj_mc.onLoad = function(){ trace(place.obj_mc.Des.elname); // !!! undefined !!! } ![]() Последний раз редактировалось Xero201; 02.12.2008 в 19:04. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|