Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   скрипт подгружаемой SWF-ки не выполняется (http://www.flasher.ru/forum/showthread.php?t=148800)

erectus 11.01.2011 19:40

скрипт подгружаемой SWF-ки не выполняется
 
доброго времени суток.
я столкнулся со странной проблемой с загружаемой SWF-кой.
при создании анимации в последний кадр вставлен скрипт:
Код AS1/AS2:

trace("stop");
dispatchEvent(new Event("anim_stop"));

жмем F12 и видим, что всё работет номально: трейсы выводятся.
загружаем полученную SWF-ку в другое флеш-приложение (Loader-ом), добавляем на сцену и, опять-таки, видим, что всё работает как надо: трейсы выводятся, эвенты отправляются.
затем сцене, содержащей анимацию присваиваем собственное имя класса (по умолчанию ему присваивается имя MainTimeline). жмем F12, и всё вроде продолжает работь... но если загрузить эту новую SWF-ку тем же лоадером, то уже ничего не работает: трейсы не пишутся, события не генерируются... внутренний скрипт просто игнорируется.
подскажите в чем проблема?

dimarik 12.01.2011 00:11

Не напомните, как сцене присвоить имя класса?

erectus 12.01.2011 01:44

Цитата:

Сообщение от dimarik (Сообщение 963826)
Не напомните, как сцене присвоить имя класса?

хм.... в данный момент нету флеша под рукой...
ну нашел вот картинку на просторах интернета =)..... я имел ввиду то, что на картинке подписано как DocumentClass (снизу)

mayakwd 12.01.2011 06:03

MainTimeline это root

cleptoman 12.01.2011 10:22

блин, ну все же поняли о чем речь )) (про сцену и класс)

по сути:
возможно при прописывании документ класса полезли какиенить эксепшны. проверьте, не лезут ли ошибки вашей SWF с документ классом.

erectus 12.01.2011 13:26

Цитата:

Сообщение от cleptoman (Сообщение 963897)
возможно при прописывании документ класса полезли какиенить эксепшны. проверьте, не лезут ли ошибки вашей SWF с документ классом.

проверял, нет там никаких эксепшенов... их было бы видно сразу

еще не уточнил: я не создавал никакого специального класса, просо в поле DocumentClass прописал название (произвольное) (мне посто нужно, чтобы классы root-овых объектов подгружаемых SWF-ок были уникальны)

cleptoman 12.01.2011 13:31

ну это вы зря.)

для того, чтобы ваша свф слала события, то ваш документ класс нужно как минимум унаследовать от EventDispatcher ..может по этому и не работает. сейчас ваш документ класс создается автоматом и наследуется от Object, что не есть гуд. создайте класс, наследник от мувиклипа, если вас не устраивает MainTimeline.

erectus 12.01.2011 13:55

спасибо, попробую... хотя я был уверен, что он наследуется как минимум от MainTimeline

etc 12.01.2011 14:33

Возможно конфликт классов основного и загружаемого swf. Правда, насколько я помню, для каждой swf создается свой пакет для MainTimeline.

cleptoman 12.01.2011 14:57

Цитата:

хотя я был уверен, что он наследуется как минимум от MainTimeline
хмм..действительно не от Object


написал от балды в документклассе, не создавая AS файла:
Код AS3:

import flash.utils.getQualifiedSuperclassName;
trace(this); // [object SomeClass]
trace(getQualifiedSuperclassName(this)); // flash.display::MovieClip

Добавлено через 7 минут
Цитата:

Возможно конфликт классов основного и загружаемого swf. Правда, насколько я помню, для каждой swf создается свой пакет для MainTimeline.
затестил.
с пустым полем документ класса:
Код AS3:

trace(getQualifiedClassName(this)); // Untitled_fla::MainTimeline // создает пакет

с непустым полем, но без AS файла:
Код AS3:

trace(getQualifiedClassName(this)); // SomeClass // не создает пакет

тады мабудь и конфликт.


Часовой пояс GMT +4, время: 19:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.