Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.07.2010, 16:43
greenhill вне форума Посмотреть профиль Отправить личное сообщение для greenhill Посетить домашнюю страницу greenhill Найти все сообщения от greenhill
  № 1  
Ответить с цитированием
greenhill
 
Аватар для greenhill

Регистрация: Mar 2009
Сообщений: 281
Отправить сообщение для greenhill с помощью ICQ
По умолчанию Массив кнопок

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

Код 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 можно было показать изображения соответсвующее превью?
__________________
http://zenpro.blogspot.com/


Последний раз редактировалось udaaff; 25.07.2010 в 18:32. Причина: индентация
Старый 25.07.2010, 18:08
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Проще всего (но может не быстрее и не красивее всего).
Код AS3:
public function showImage(ev:MouseEvent):void {
  var ind:int = preview_blocks.indexOf(ev.target);//это индекс
  if(ind >= 0) {//может в вашем случае и не нужна проверка
   //тут что надо
  }
}
Я бы рекомендовал написать свою кнопку, которой можно передать функцию и параметр для неё. И ваше событие - не MOUSE_DOWN, а MOUSE_CLICK. Вообще вопрос из серии "как передать параметр в обработчик" - поиск по форуму много находит)


Последний раз редактировалось -De-; 25.07.2010 в 18:13.
Старый 25.07.2010, 19:10
greenhill вне форума Посмотреть профиль Отправить личное сообщение для greenhill Посетить домашнюю страницу greenhill Найти все сообщения от greenhill
  № 3  
Ответить с цитированием
greenhill
 
Аватар для greenhill

Регистрация: Mar 2009
Сообщений: 281
Отправить сообщение для greenhill с помощью ICQ
А что мы пишем в ф-ции вызова?
как мне просто в обработчик передать значение i
я тут смотрю примеры, но что-то не понимаю
в ас2 это так просто было
__________________
http://zenpro.blogspot.com/

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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