Показать сообщение отдельно
Старый 22.08.2012, 15:35
SpetZ_Naz вне форума Посмотреть профиль Отправить личное сообщение для SpetZ_Naz Найти все сообщения от SpetZ_Naz
  № 5  
Ответить с цитированием
SpetZ_Naz

Регистрация: Aug 2012
Сообщений: 77
Цитата:
Вы предлагаете декомпилировать вашу флэшку?
Нет, это все та же программа, с которой все начиналось, листинг лежит выше (просто добавил кнопку). Вот вырезка из кода:

Код AS3:
          //..................
 
           public function SuperCircle()
		{	
                // Создаю 50 шариков
 
			for (var i:uint=0;i<50;i++){
			bl = new Ball(0x00ff00,2);
			addChild(bl);
			bl.x = 100 + (i*bl.width);
			bl.y = 100;
			_dictionary[bl] = [bl.x, bl.y];
			}
 
                //Вешаю на них обработчик события MOUSE_OUT		
 
		this.addEventListener(MouseEvent.MOUSE_OUT, onMO);
 
               // Создаю кнопку (нарисовал сам в CS5 и обозвал Button)
 
		bt = new Button ();
		addChild(bt);
		bt.x = 200;
		bt.y = bt.height + 5;
 
                // Вешаю на кнопку обработчик события CLICK
 
		bt.addEventListener(MouseEvent.CLICK, onMc);	
		}
 
		private function onMc(e:MouseEvent):void 
		{
			pc = new PictureDwn("main.jpg");
			addChild(pc);
			trace("Click!!");
			bt.removeEventListener(MouseEvent.CLICK, onMc);
		}
		private function onMO(e:MouseEvent):void
		{
 
                // ...... продолжение кода...
Как видите в коде, строчка....:

Код AS3:
this.addEventListener(MouseEvent.MOUSE_OVER, onMO);
.....вешает обработчик события MOUSE_OVER на ВСЕ объекты и получается, что пронося мышкой над новосозданной кнопкой, она тоже улетает как шарики, а мне этого Не нужно.

Попытки писать обработчики для каждого объекта, вместо this :

Код AS3:
bl.addEventListener(MouseEvent.MOUSE_OUT, onMO);  // обработчик для ШАРИКОВ - 
                                                        //-срабатывает только последний созданный
bt.addEventListener(MouseEvent.MOUSE_OUT, onMO_2);// обработчик для КНОПКИ
...приводит к неправильной реакции шариков, т.е. срабатывает всего один, последний созданный, но кнопка, да, начинает реагировать нормально.

Так вот вопрос заключается в том, как грамотно разделить обработчики событий для каждого из объектов в МОЕМ случае.