Форум Flasher.ru

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

Abdilxamidov 10.03.2009 22:08

Вывод отображаемых объектов другого класса, продолжение
 
Здравствуйте! Вот есть два класса:
Код AS3:

package {
        import flash.display.*;
        import flash.text.*;
 
        public class MyClass_1 extends MovieClip {
                var C2:MyClass_2=new MyClass_2();
 
                public function MyClass_1() {
                        C2.showMess(this);
                }
        }
}
 
package {
        import flash.display.*;
        import flash.text.*;
 
        public class MyClass_2 extends MovieClip {
                var myMc:MySymbol=new MySymbol(); //символ типа MovieClip, нарисованный вручную в библиотеке MyClass_2.fla
 
                public function MyClass_2() {
 
                }
                public function showMess(target:DisplayObjectContainer=null) {
                        if (!target) target = this;
                        target.addChild(myMc); // в окно target почему-то ничего не выводит
                }
        }
}

Как отобразить в первом классе MyClass_1() символ MySymbol типа MovieClip, нарисованный вручную в классе MyClass_2()?
Linkage к этому символу MySymbol прописан и класс MySymbol создан в MySymbol.as.
Подскажиет, почему target.addChild(myMc) не работает? Для созданных программно отображаемых объектов всё работает.

etc 10.03.2009 22:15

Код верен, больше ничего не могу сказать.

Abdilxamidov 10.03.2009 23:10

Хм, однако MyClass_1.swf не выводит нарисованный MySymbol (у меня это квадрат)

iNils 10.03.2009 23:21

У меня тоже работает.

Abdilxamidov 10.03.2009 23:40

у вас MySymbol нарисован в MyClass_2.fla? и все работает?

Добавлено через 21 минуту
Блин, еще раз попробовал, все равно MyClass_1.swf не отображает MySymbol класса MyClass_2

Добавлено через 57 минут
Ну, люди, делаю так: MySymbol:MovieClip рисую и помещаю в библиотеку MyClass_2.fla, назначаю Linkage - Class: MySymbol. Вот как не бьюсь в MyClass_1.swf , не выводится этот символ, хоть тресни, только в MyClass_2.swf (если дописать в его конструкторе addChild(myMc);). Как у вас такое получается?

etc 11.03.2009 09:30

Показывайте исходник. Старший телепат ушёл в отпуск.

Abdilxamidov 11.03.2009 16:20

Tак код как раз в начале темы. Как же еще объяснить-то... Нужно, чтобы согласно тому коду в MyClass_1.swf вывелся MySymbol. Внимание: MySymbol нарисован и находится в библиотеке MyClass_2.fla.

Ромастый 11.03.2009 16:56

Ну вы сами ответили на свой вопрос - символ нарисован вручную, и находится в другой свф.
showMess в трэйсе ведь что-то выводит? Экземпляр MyClass_2 создается, просто он пустой, так как не связывается с символом из библиотеки, которая находится в другом файле. :)

Если вы хотите использовать объекты из подгружаемых файлов, читайте про Loader и getDefinitionByName.

Abdilxamidov 11.03.2009 17:50

да, не связывается с символом. Просто я думал взять его через родительский класс.


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

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