Показать сообщение отдельно
Старый 14.11.2011, 05:49
imena вне форума Посмотреть профиль Отправить личное сообщение для imena Найти все сообщения от imena
  № 1  
Ответить с цитированием
imena

Регистрация: Feb 2011
Сообщений: 121
По умолчанию Отдельный прослушиватель для каждого нового объекта

Всем доброго утра!!!

Вопрос: у меня есть класс. В нем есть функция по добавлению новых объектов

Код AS3:
private var objects:Vector.<Shape> = new Vector.<Shape>();
 
................................................................................................
 
public function addNewObject(object:Shape):void {
	objects.push(object);
	addChild(objects[objects.length - 1]);
}
есть основной класс, в котором я создаю объект <Мой класс> и вызываю функцию МойКласс.addNewObject() столько сколько нужно.

Код AS3:
 
.........................
 
private function timerListener(e:TimerEvent):void {
 
	var s:Shape = new Shape();
	var d:uint = Math.floor(Math.random() * 100);
	s.x = Math.floor(Math.random() * 800);
	s.y = Math.floor(Math.random() * 600);
 
	s.graphics.lineStyle(1);
	s.graphics.beginFill(Math.floor(Math.random() * 0xFFFFFF));
	s.graphics.drawCircle(0, 0, d);
	s.graphics.endFill();
 
	obj.addNewObject(s);
 
}
После того как новый объект(в данном случае Shape) добавилась в список объектов(фигур) он появился на экране... мне надо чтобы он реагировал на нажатие мыши. Сделал как показано ниже, но событие не отлавливается

Код AS3:
public function addNewObject(object:Shape):void {
	objects.push(object);
	objects[objects.length - 1].addEventListener(MouseEvent.CLICK, clickListener);
	addChild(objects[objects.length - 1]);
}
Подскажите пожалуйста, как повесить прослушиватель на каждый НОВЫЙ объект?