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

ursul 21.07.2009 18:47

Добавление объектов на сцену посредством классов
 
Добрый день!

Прошу помочь разобраться с вопросом о добавлении объектов (графических) на сцену.
Есть следующая структура файлов:
Main.fla (основной мувик)
Main.as (класс основного мувика)
Graphics (package)
Draw.as (класс для создания объекта)
XMLBase (package)
Reader.as (класс для чтения xml)
В конструкторе класса Main я создаю экземпляр класса Reader. Далее, в конструкторе класса Reader я подгружаю внешний xml-файл, в котором содержится информация об объектах, и по событию COMPLETE передаю информацию об объекте в класс Draw (информацию и ее обработку я указывать не стал, чтобы не засорять код, важно узнать другое). Итак, класс Draw:

Код AS3:

package Graphics {
 
        import flash.display.*;
 
        public class Draw extends Sprite {
 
                public function Draw() {
                        var child:Shape = new Shape();
                        child.graphics.beginFill(0x000000);
                        child.graphics.drawCircle(50, 50, 50);
                        child.graphics.endFill();
                        addChild(child);
                }
 
        }
 
}

Объект (некий child) создан. И вот вопрос, как добавить его на главную сцену?
Заранее благодарю.

WRC_S 21.07.2009 18:51

ты добавил же addChild(child); выстови координаты его!

Добавлено через 35 секунд
главная сцена какая(кокой мувик?)

ursul 21.07.2009 18:53

WRC_S, addChild добавляет объект из любого класса сразу на главную сцену?

WRC_S 21.07.2009 18:57

нет в себя тока, а если сделать root.главный-мувик-твой.addChild(child); грубо если взять то (главный-мувик-твой вот эта мувик куда надо добавить).

Добавлено через 2 минуты
кароче надо указовать мувик куда надо добавить ребёнка туда он и добавит!

ursul 21.07.2009 19:10

Спасибо, попробовал, но не пошло. Есть мувик object_container на главной сцене, при попытке добавить в него child - root.object_container.addChild(child); сообщает об ошибке:

1119: Access of possibly undefined property object_container through a reference with static type flash.display: DisplayObject.

Добавлено через 49 минут
Спасибо еще раз, WRC_S, нашел путь как исправить. Сделал статичную переменную в главном классе Main со ссылкой на себя и обращаясь к ней добавляю методом addChild свой объект. Вероятно, это некорректный путь, но работает)

Dimax4d 21.07.2009 21:07

В этом коде child добавляется в экземпляр класса Draw. Чтобы child попал в список отображения, сам родительский экземпляр нужно добавить в stage. Так проще будет

Код AS3:

var drawContainer:Draw = new Draw();
 
stage.addChild(drawContainer);


WRC_S 22.07.2009 19:13

я ещё делал так сначал также добавлял на stage класс из каторого надо сделать ребёнка, потом в этом классе делал ссылку на класс в который надо добавить ребёнка, и потом пользуюсь именно в классе как хочю ссылкой на главный класс.


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

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