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

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

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

Регистрация: Oct 2009
Адрес: Москва
Сообщений: 73
Отправить сообщение для .true с помощью ICQ
По умолчанию Event на объекте

Добрый вечер, столкнулся с такой проблемой:
создаю программно N мувиклипов, при нажатии на каждый нужно получить инфу (допустим trace(xMc.id)), записанную в мувиклипе.

но stage.addEventListener теперь не вешается на объект.

Допустим, создаю mc:
Код AS3:
var mc = new MovieClip();
mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent)
{
    trace(this); // Показывает родительский элемент для mc.
}
как можно привязать event наподобии as2.0 в духе или как можно добиться такого эффекта?
Код AS1/AS2:
mc.onPress = function(){}
не могу в хендлере считать координаты и пытаться как-то найти этот объект. их слишком много
__________________
Если ты не часть решения, тогда ты – часть проблемы.

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Код AS3:
var mc:MovieClip = new MovieClip();
mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent)
{
    var yourMc:MovieClip = (event.target as MovieClip) // это будет мувик по которому вы кликнули
}

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

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
Код AS3:
var mc = new MovieClip();
mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent)
{
    trace(event.target); // Показывает mc.
    trace(event.currentTarget); // Показывает mc.
}
Не помню точно разницу между target и currentTarget, но, похоже, в вашем случае она не существенна.

Старый 27.11.2010, 18:03
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 4  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Код AS3:
var mc = new MovieClip();
mc.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent)
{
    trace(event.currentTarget); // Показывает  mc.
}
UPD. прям брэйнринг какой-то)
Цитата:
Не помню точно разницу между target и currentTarget, но, похоже, в вашем случае она не существенна.
currentTarget - это объект на который навешали листенер
target - это объект на который нажали.
здесь это одно и то же.
но если бы в mc был еще один клип, то таргет был бы он.
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 27.11.2010 в 22:27.
Старый 27.11.2010, 18:16
.true вне форума Посмотреть профиль Отправить личное сообщение для .true Посетить домашнюю страницу .true Найти все сообщения от .true
  № 5  
Ответить с цитированием
.true
 
Аватар для .true

Регистрация: Oct 2009
Адрес: Москва
Сообщений: 73
Отправить сообщение для .true с помощью ICQ
вауууууу) спасибо!!
я то уж было начал писать отдельный класс на каждую клип)

P.S. решил этим сразу аж 2 проблемы) еще раз tnx a lot)
__________________
Если ты не часть решения, тогда ты – часть проблемы.


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

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

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


 


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


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