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

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

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

Регистрация: Apr 2013
Сообщений: 89
Attention Как отловить нажатую кнопку, созданную в цикле

Всем привет
Код AS3:
for(var i:int = 0; i<grid_size_width; i++)
			{
				arr[i] = i;
				arr[i] = new Array();
				for(var j:int = 0; j<grid_size_height; j++)
				{
					arr[i][j] = 0;
					var null_cell:Null_cell = new Null_cell();
					null_cell.addEventListener(MouseEvent.CLICK, null_cell_kill);
					null_cell.x = null_cell.width*j;
					addChild(null_cell);
					null_cell.y = null_cell.height*i;
				}
			}
Создаю в массиве решетку из мувиклипов.

Как правильно подписать на событие клика каждую кнопку и удалить ее

Код AS3:
null_cell.addEventListener(MouseEvent.CLICK, click)
Так можно подписать, но дело в том, что если поле 1000х1000 то это 1000000 подписок.

Код AS3:
public function click
{
 removeChild(e.target);
}
Сделал что то глупое, но мысль была удалить объект по которому тыкнули


Подскажите как правильно подписать на клик каждый мувик и как правильно его удалить?

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

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

Добавлено через 56 секунд
http://help.adobe.com/en_US/as3/mobi...5fc6-8000.html

Старый 30.09.2015, 22:08
vlbuto вне форума Посмотреть профиль Отправить личное сообщение для vlbuto Найти все сообщения от vlbuto
  № 3  
Ответить с цитированием
vlbuto

Регистрация: Apr 2013
Сообщений: 89
Код AS3:
currentApple.addEventListener ( MouseEvent.CLICK, onAppleClick );
Из примера. Не будет подписано 10 раз на событие?

Код AS3:
public function null_cell_kill(e:MouseEvent):void
		{
			null_cell = e.currentTarget as Null_cell;
			removeChild(null_cell);
		}
Не работает, ошибка
Код AS3:
строка 38	1120: Обращение несуществующего свойства null_cell.
Добавлено через 3 минуты
Цитата:
Сообщение от udaaff Посмотреть сообщение
Каждый не обязательно подписывать, можно подписать контейнер и ловить события от детей на фазе всплытия.

Добавлено через 56 секунд
http://help.adobe.com/en_US/as3/mobi...5fc6-8000.html
Извиняюсь, работает прекрасно. Спасибо.

По моему примеру получилось так:

Код AS3:
public function null_cell_kill(e:MouseEvent):void
		{
			var null_cell = e.target as Null_cell;
			removeChild(null_cell);
		}

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Из примера. Не будет подписано 10 раз на событие?
Вам вторая часть примера нужна.

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Внесу свою коррективу, надеюсь, Вам поможет: ознакомьтесь с AS3 code convention, потому что сейчас Вы неверно (не по конвенции) называете методы и переменные, на что, несомненно, обратит внимание работодатель.
__________________
тут я

Старый 30.09.2015, 22:38
vlbuto вне форума Посмотреть профиль Отправить личное сообщение для vlbuto Найти все сообщения от vlbuto
  № 6  
Ответить с цитированием
vlbuto

Регистрация: Apr 2013
Сообщений: 89
Цитата:
Сообщение от КорДум Посмотреть сообщение
Внесу свою коррективу, надеюсь, Вам поможет: ознакомьтесь с AS3 code convention, потому что сейчас Вы неверно (не по конвенции) называете методы и переменные, на что, несомненно, обратит внимание работодатель.
Знаю, слышал, спс за полезную ссылку

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

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

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


 


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


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