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

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

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

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Не понимаю, зачем так делать, не нужно же никаких mouseChildren, когда у тебя currentTarget тот, что ты сам подписал руками.
__________________
There is no thing in this world that is not simple.

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

Регистрация: Oct 2006
Сообщений: 2,281
так он не танчики подписывает, а парента.

Старый 08.11.2017, 13:28
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 23  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
У этого подхода есть какие-то плюсы, кроме постоянной конфузии с event.target?
__________________
There is no thing in this world that is not simple.

Старый 08.11.2017, 13:30
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 24  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
плюс в том, что одно событие на множество объектов. Никаких конфузий
__________________
while(live()) { hope(); }

Старый 08.11.2017, 13:34
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 25  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Так а где плюс? Ну да, никаких, учитывая, сколько подобных тем уже.
__________________
There is no thing in this world that is not simple.

Старый 08.11.2017, 13:38
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 26  
Ответить с цитированием
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
Мы в итоге так и не поняли, как у тебя создается твой многострадальный танк.
Если у тебя сделано так, что есть класс Game, который Sprite (ну или MovieClip), который создает экземпляр и добавляет в себя EnemyTank

Код AS3:
var enemyTank:EnemyTank = new EnemyTank();
addChild(enemyTank);
EnemyTank же создает в себе всякое, в том числе и добавляет в себя графику, в том числе мувик
Код AS3:
var tank:MovieCLip = new Tank_mc();
addChild(tank);
то для того, чтобы все работало, нужно в EnemyTank прописать
Код AS3:
mouseChildren = false;
в Game добавить слушатель
Код AS3:
addEventListener(MouseEvent.CLICK, clickHandler)
и потом в слушателе
Код AS3:
private function clickHandler(event:MouseEvent):void
 {
   trace(event.target);
 }
__________________
while(live()) { hope(); }

Старый 08.11.2017, 13:48
razerw вне форума Посмотреть профиль Отправить личное сообщение для razerw Найти все сообщения от razerw
  № 27  
Ответить с цитированием
razerw

Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
Цитата:
Сообщение от undefined Посмотреть сообщение
добавь в EnemyTank
Код AS3:
mouseChildren=false;
и затрейси
Код AS3:
trace(e.target,e.currentTarget);
trace(event.currentTarget, event.target);

[object Game] [object Tank_mc]

Старый 08.11.2017, 13:49
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 28  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
У этого подхода есть какие-то плюсы, кроме постоянной конфузии с event.target?
А я и не говорил, что у этого есть плюсы.Возможно у товарища вообще нет массива всех танчиков.
Цитата:
плюс в том, что одно событие на множество объектов. Никаких конфузий
Число событий никак не зависит от числа слушателей

Старый 08.11.2017, 13:53
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 29  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
trace(event.currentTarget, event.target);

[object Game] [object Tank_mc]
Нужно больше кода

Если вы добавили в EnemyTank mouseChildren = false, то это говорит о том, что вы Tank_mc добавляете не внутрь него, а куда-то в другое место х)
__________________
There is no thing in this world that is not simple.

Старый 08.11.2017, 13:57
razerw вне форума Посмотреть профиль Отправить личное сообщение для razerw Найти все сообщения от razerw
  № 30  
Ответить с цитированием
razerw

Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
Цитата:
Сообщение от razerw Посмотреть сообщение
trace(event.currentTarget, event.target);

[object Game] [object Tank_mc]
возможно я не правильно изъяснился, попробую еще раз.

класс Games создает EnemyTank класс унаследован EnemyTank extends EnemyBase
в конструкторе EnemyTank происходит следующее
_sprite = new Tank_mc(); // Tank_mc мувик из библиотеки
_sprite.mouseChildren = false;
в конструкторе EnemyBase
addChild(_sprite);

сам слушатель кликанья инициализарован в классе games

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

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

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


 


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


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