Форум 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=142584)

greenhill 25.07.2010 16:43

Массив кнопок
 
Привет всем,подскажите пожалуйста, как корректно создавать массив кнопок и передавать их айдишник?

Код AS3:

for(var i:Number = 0; i < xmlData.children().length(); i++){
 
        previewArray[i] = xmlData.image.@preview[i];
        imageArray[i] = xmlData.image.@image[i];
 
        var preview_sprite:Sprite = new Sprite();
        preview_blocks.push(preview_sprite);
        preview_list_block.addChild(preview_blocks[i]);
 
        preview_blocks[i].buttonMode = true;
        preview_blocks[i].addEventListener(MouseEvent.MOUSE_DOWN, showImage);
 
}

как в ф-кцию showImage передать значение i, или как присвоить айдишник в цикле для спрайта, чтоб в ф-ции showImage можно было показать изображения соответсвующее превью?

-De- 25.07.2010 18:08

Проще всего (но может не быстрее и не красивее всего).
Код AS3:

public function showImage(ev:MouseEvent):void {
  var ind:int = preview_blocks.indexOf(ev.target);//это индекс
  if(ind >= 0) {//может в вашем случае и не нужна проверка
  //тут что надо
  }
}

Я бы рекомендовал написать свою кнопку, которой можно передать функцию и параметр для неё. И ваше событие - не MOUSE_DOWN, а MOUSE_CLICK. Вообще вопрос из серии "как передать параметр в обработчик" - поиск по форуму много находит)

greenhill 25.07.2010 19:10

А что мы пишем в ф-ции вызова?
как мне просто в обработчик передать значение i
я тут смотрю примеры, но что-то не понимаю
в ас2 это так просто было :)


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

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