Форум 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=141532)

Dragon rideR 27.06.2010 18:29

Как добавить объект из библиотеки подгруженной swf
 
Как добавить объект из библиотеки подгруженной swf
есть клип контейнер = cont
есть подгружаемый клип в библиотеке которого есть к примеру клип= Page1
Как мне после загрузки подгружаемого клипа добавить из библиотеки этот клип?
Пробовал чтото вроде такого:
Код AS3:

template_mc.page1= new template_mc.Page1()
template_mc.addChild(template_mc.page1);

но выдает:
TypeError: Error #1007: Попытка реализации в объекте, который не является конструктором.
и трейсер говорит что template_mc.Page1 = undefined, хотя класс в библиотеке объявлен

dimarik 27.06.2010 19:56

Код AS3:

var c:Class = loader.loaderInfo.applicationDomain.getDefinition('Page1') as Class;
if (c)
    var mc:MovieClip = new c() as MovieClip;


mayakwd 27.06.2010 21:39

try-catch'ем бы еще обнести getDefinition а то до if (c) не дойдет так как исключение вывалится в случае если класс не определен.

dimarik 27.06.2010 21:52

Код AS3:

 
var appDomain:    ApplicationDomain = loader.loaderInfo.applicationDomain;
 
if ( appDomain.hasDefinition("Page1") ) {
    var c:Class = appDomain.getDefinition("Page1") as Class;
    if (c)
        var mc:MovieClip = new c() as MovieClip;
}
 
if (mc)
    super.addChild(mc);


mayakwd 27.06.2010 22:00

да так будет вернее :)

dimarik 27.06.2010 22:02

Наступил на мозоль ) Так будет полнее.

Dragon rideR 28.06.2010 11:06

Спасибо Tristan'у вот как решил проблему
Код AS3:

var clazz:Class = loader.content.loaderInfo.applicationDomain.getDefinition("Page1") as Class;
                        var mc:MovieClip = new clazz() as MovieClip;
                        addChild(mc);



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

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