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

Регистрация: Aug 2011
Сообщений: 50
Цитата:
2.
Цитата:
нО при таком коде кнопка будет вызывать сразу несколько функций..А не каждая кнопка свою..
Почему это? Вся цепочка же идет с индивидуальным идентификатором (_2, _3). В самом инфоБлоке можно и не городить несколько обработчиков-редиспатчеров, а просто определять, какую именно кнопку нажали и диспатчить наружу соответствующее событие. C какой стати в Мейне сработает обработчик другого события?
Описал как говорите
Код AS3:
private function prepare():void
  {
this.addChild(btn_no);  btn_no.y=15; btn_no.x = 500;
this.addChild(btn_tools); btn_tools.y = 15; btn_tools.x = 540;
btn_no.addEventListener(MouseEvent.CLICK, buttonClickHandler_no);
btn_tools.addEventListener(MouseEvent.CLICK,buttonClickHandler_tools);
 
}
 
 
 
private function buttonClickHandler_no(event:MouseEvent):void 
  {
   event.stopImmediatePropagation();
   dispatchEvent(new Event(BLOCK_BUTTON_CLICKED_NO));
  }
private function buttonClickHandler_tools(event:MouseEvent):void 
  {
   event.stopImmediatePropagation();
   dispatchEvent(new Event(BLOCK_BUTTON_CLICKED_TOOLS));
  }
В Meine dataCOmpleteHadler:

Код AS3:
 
//...
 
{
block.y = blockHeight;
blockHeight += block.height + 1;
block.addEventListener(MouseEvent.CLICK, infoBlockClickHandler);
block.addEventListener(InfoBlock.BLOCK_BUTTON_CLICKED_NO,testing_one);
block.addEventListener(InfoBlock.BLOCK_BUTTON_CLICKED_TOOLS,testing_two);
blocksContainer.addChild(block);
_blocksArray.push(block);
}
при нажатии одно из двух кнопок вызываются обе функции и testing_one и testing_two.Причем все равно какую кнопку нажать..Все равно
будут вызываться обе функции.

Код AS3:
for (var i:uint = 0; i < friends_number.length(); i++)
   {
      _text.htmlText += _info..friends.friend[i].toString();
   }
Все равно в столбик выводит)