Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Массив из кнопок (http://www.flasher.ru/forum/showthread.php?t=183473)

Snopka 22.08.2012 23:18

Массив из кнопок
 
Здравствуйте, такой вопрос: можно ли в ас3 сделать массив из кнопок и вывести кнопки на форму? Или подскажите пожалуйста как задавать имя кнопке автоматически в массиве

tsarapkabel 23.08.2012 00:23

Код AS3:

for (var i:uint = 0; i < buttonsNum; i++) {
        var btn:MyButton = new MyButton();
        btn.name = "button" + i;
}


Snopka 23.08.2012 00:29

Спасибо огромное! а не подскажите, можно ли каждой кнопке Listener присвоить?

tsarapkabel 23.08.2012 00:34

Можно. Всё в том же цикле:
Код AS3:

for (var i:uint = 0; i < buttonsNum; i++) {
        var btn:MyButton = new MyButton();
        btn.name = "button" + i;
        btn.addEventListener(MouseEvent.CLICK, btn_mouseClick);
}
...
private function btn_mouseClick(event:MouseEvent):void {
        trace(event.target.name);        // выведет button+номер
}


Monade 2 23.08.2012 03:38

можно еще через параметр data связать с кнопкой какой угодно объект с какими угодно параметрами для дальнейшей обработки в листенерах

Код AS3:

for (var i:uint = 0; i < buttonsNum; i++) {
        var btn:MyButton = new MyButton();
        btn.name = "button" + i;
        btn.data = { id: ..., prop1: ..., prop2: .... };
        btn.addEventListener(MouseEvent.CLICK, btn_mouseClick);
}
...
private function btn_mouseClick(event:MouseEvent):void {
        trace(event.target.data.id);
}

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

Snopka 23.08.2012 14:20

а как добавить свойство data?

incvizitor 23.08.2012 19:29

Код AS3:

public class MyButton extends Sprite{
    public var data:Object;
}



Часовой пояс GMT +4, время: 12:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.