Flash: динамический обработчик нажатия кнопки - PullRequest
0 голосов
/ 18 июня 2011

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

var Buttons:Vector.<Button> = new Vector.<Button>;      
var newButton = new Button;
var int = Buttons.push(newButton);              
newButton.addEventListener(MouseEvent.CLICK, button_clickHandler);


// pseudocode
button_clickHandler(event:MouseEvent):void {
    if (event.button = i) { delete button i}
}

Я не могу найти способ сделать это во Flash, кроме как сделать что-то глупое, например, проверить положение мыши во время события щелчка по всем кнопкам, а затем выяснить, какая из них была нажата.

1 Ответ

4 голосов
/ 18 июня 2011

Вы могли бы сделать что-то еще, но похожее:

private function buttonClickHandler(event:MouseEvent):void
{
      var button:Button = Button(event.target);
      var i:int = buttons.indexOf(button);
      // now you know the button instance and the index of the button so do whatever you need

      // delete it from the vector:
      buttons.splice(i, 1);
}

Вы, вероятно, тоже должны удалить его со сцены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...