Показать сообщение отдельно
Старый 29.11.2009, 00:05
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 13  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Цитата:
Сообщение от mikhailk Посмотреть сообщение
Искать man в container через getChildByName()?
Или можно как-то к нему и его методам напрямую обратиться?
Нет, написать управляющий всей этой логикой класс (назовём его Game), который будет хранить в себе ссылки на man, bomb и пр. И логику игры инкапсулировать в этом классе. Добавлять bomb и man можно в любые контейнеры, нам до этого дела быть не должно. Мы к ним обращаемся по ссылкам, имеющим соответствующий тип:

Код AS3:
public class Game extends Sprite{
 
	private var bomb:MovieClip;
	private var man:Man;
 
	private var container:Sprite;
 
	public function Game(){
		container = new Sprite();
		addChild(container);
		bomb = new Asset_bomb(); //из библиотеки, например
		container.addChild(bomb);
		man = new Man();
		container.addChild(man);
	}
 
	public function killMan():void{
		bomb.play();
		//...
		man.dropMan();
	}
 
}
Вы имели когда-нибудь дело с каким-нибудь другим ООП-языком? Если да, подобные вопросы у вас возникать не должны. Не нужно сваливать на флэш своё непонимание базовых вещей. Не хочу сказать, что в AS3 всё идеально, но по большей части кардинальных отличий от других объектно-ориентированных языков нет.