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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.10.2010, 17:59
a6279019 вне форума Посмотреть профиль Отправить личное сообщение для a6279019 Найти все сообщения от a6279019
  № 1  
Ответить с цитированием
a6279019

Регистрация: Aug 2010
Сообщений: 6
По умолчанию Как правильно сделать addEventListener

Есть двухмерный массив данных c координатами х и y
Выводим его в виде квадратов:
Код AS3:
sprite.graphics.beginFill(0x000000);
for (var i:uint = 0; i < x; i++) {
     for (var j:uint = 0; j < y; j++) {
        sprite.graphics.drawRect(10 + i * 15, 10 + j *15, 10, 10);             
     }
}
addChild(sprite);
Как к каждому квадрату привязать событие (MouseEvent.CLICK)? У каждого квадрата разные действия.

Старый 17.10.2010, 18:10
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Очевидно, что каждый квадрат должен быть InteractiveObject.

Старый 17.10.2010, 18:25
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Или в обработчике click у sprite смотреть, в каких координатах мы нажали, и от этого плясать. Нажали в первой ячейке - стартует какой-то метод, в другой ячейке - другой метод. Смотря, что нужно.
__________________
тут я

Старый 17.10.2010, 20:07
Azo вне форума Посмотреть профиль Отправить личное сообщение для Azo Найти все сообщения от Azo
  № 4  
Ответить с цитированием
Azo
 
Аватар для Azo

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
Я обычно делаю так:

каждый квадрат делаю как отдельный MovieClip, Sprite ...DisplayObject
и у каждого пишу .name = определенный идентификатор.... например 1 или 2 или 3


потом в общем addEventListener обработчике добавляю условие:

Код AS3:
if (e.currentTarget.name=="1"){ ... и т.п.
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

Старый 17.10.2010, 20:29
gr_crd вне форума Посмотреть профиль Отправить личное сообщение для gr_crd Посетить домашнюю страницу gr_crd Найти все сообщения от gr_crd
  № 5  
Ответить с цитированием
gr_crd
 
Аватар для gr_crd

Регистрация: Mar 2009
Адрес: Kazakhstan, Almaty
Сообщений: 121
Если каждый квадрат делать в отдельном - Sprite, тогда каждому квадрату addEventListener.

Но, если квадратов будет МНОГО (допустим 10.000 = а это 10.000 Sprite'ов), то лучше уж их рисовать в одном Sprite, а при клике смотреть координаты.
__________________
заткнись и делай

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

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

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


 


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


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