Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.07.2009, 18:47
ursul вне форума Посмотреть профиль Отправить личное сообщение для ursul Найти все сообщения от ursul
  № 1  
Ответить с цитированием
ursul

Регистрация: Jul 2009
Сообщений: 9
По умолчанию Добавление объектов на сцену посредством классов

Добрый день!

Прошу помочь разобраться с вопросом о добавлении объектов (графических) на сцену.
Есть следующая структура файлов:
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) создан. И вот вопрос, как добавить его на главную сцену?
Заранее благодарю.

Старый 21.07.2009, 18:51
WRC_S вне форума Посмотреть профиль Отправить личное сообщение для WRC_S Посетить домашнюю страницу WRC_S Найти все сообщения от WRC_S
  № 2  
Ответить с цитированием
WRC_S
[+6 23.11.09]
 
Аватар для WRC_S

Регистрация: Jun 2009
Адрес: Россия
Сообщений: 318
Отправить сообщение для WRC_S с помощью ICQ
ты добавил же addChild(child); выстови координаты его!

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

Старый 21.07.2009, 18:53
ursul вне форума Посмотреть профиль Отправить личное сообщение для ursul Найти все сообщения от ursul
  № 3  
Ответить с цитированием
ursul

Регистрация: Jul 2009
Сообщений: 9
WRC_S, addChild добавляет объект из любого класса сразу на главную сцену?

Старый 21.07.2009, 18:57
WRC_S вне форума Посмотреть профиль Отправить личное сообщение для WRC_S Посетить домашнюю страницу WRC_S Найти все сообщения от WRC_S
  № 4  
Ответить с цитированием
WRC_S
[+6 23.11.09]
 
Аватар для WRC_S

Регистрация: Jun 2009
Адрес: Россия
Сообщений: 318
Отправить сообщение для WRC_S с помощью ICQ
нет в себя тока, а если сделать root.главный-мувик-твой.addChild(child); грубо если взять то (главный-мувик-твой вот эта мувик куда надо добавить).

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

Старый 21.07.2009, 19:10
ursul вне форума Посмотреть профиль Отправить личное сообщение для ursul Найти все сообщения от ursul
  № 5  
Ответить с цитированием
ursul

Регистрация: Jul 2009
Сообщений: 9
Спасибо, попробовал, но не пошло. Есть мувик 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 свой объект. Вероятно, это некорректный путь, но работает)


Последний раз редактировалось ursul; 21.07.2009 в 20:01.
Старый 21.07.2009, 21:07
Dimax4d вне форума Посмотреть профиль Отправить личное сообщение для Dimax4d Найти все сообщения от Dimax4d
  № 6  
Ответить с цитированием
Dimax4d
 
Аватар для Dimax4d

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
В этом коде child добавляется в экземпляр класса Draw. Чтобы child попал в список отображения, сам родительский экземпляр нужно добавить в stage. Так проще будет

Код AS3:
var drawContainer:Draw = new Draw();
 
stage.addChild(drawContainer);


Последний раз редактировалось Dimax4d; 21.07.2009 в 21:17.
Старый 22.07.2009, 19:13
WRC_S вне форума Посмотреть профиль Отправить личное сообщение для WRC_S Посетить домашнюю страницу WRC_S Найти все сообщения от WRC_S
  № 7  
Ответить с цитированием
WRC_S
[+6 23.11.09]
 
Аватар для WRC_S

Регистрация: Jun 2009
Адрес: Россия
Сообщений: 318
Отправить сообщение для WRC_S с помощью ICQ
я ещё делал так сначал также добавлял на stage класс из каторого надо сделать ребёнка, потом в этом классе делал ссылку на класс в который надо добавить ребёнка, и потом пользуюсь именно в классе как хочю ссылкой на главный класс.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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