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

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

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

Регистрация: Sep 2010
Сообщений: 17
По умолчанию Как MovieClip обратиться к e.target?

Есть проблема, мне нужно обратиться к элементу e.target из MovieClip
Код AS3:
var clip:MovieClip;
var clipObj:Object = new Object();
clipObj = e.target;
 
clip.filters=someFilter;
Мне нужно что то вроде
Код AS3:
var clip:MovieClip;
var clipObj:Object = new Object();
clipObj = e.target;
clip = clipObj;
 
clip.filters=someFilter;


Последний раз редактировалось Alex Burn; 06.09.2010 в 01:51.
Старый 06.09.2010, 01:55
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
откуда вы его взяли? (e.target)

Добавлено через 8 минут
Итак, проводим сеанс телепатии.
1. Судя по-всему, вы пытаетесь добраться до объекта в слушателе. И скорее всего в слушателе события мыши.
2. Если слушатель повешен на DisplayObjectContainer (Sprite, MovieClip), то в свойстве target события будет объект который это событие вызвал (либо сам контейнер, либо один из его детей, по которому кликнули/навели/отвели, нужное подчеркнуть)

Отсюда следует, что в данном случае лучше использовать свойство currentTarget объекта Event (в данном случае MouseEvent)
Код AS3:
private function myListener(event:MouseEvent):void
{
    var clip:MovieClip = MovieClip(event.currentTarget);
    clip.filters = ... и так далее
{


Последний раз редактировалось alatar; 06.09.2010 в 02:19.
Старый 06.09.2010, 02:11
Alex Burn вне форума Посмотреть профиль Отправить личное сообщение для Alex Burn Найти все сообщения от Alex Burn
  № 3  
Ответить с цитированием
Alex Burn

Регистрация: Sep 2010
Сообщений: 17
Именно так .
Но проблема в том что выдает все равно ошибку на строке
Код AS3:
var clip:MovieClip = MovieClip(event.currentTarget);
Вот кусок кода который получился
Код AS3:
function MenuOver(e:MouseEvent):void {
	var clip:MovieClip = MovieClip(event.currentTarget);
	timer.addEventListener(TimerEvent.TIMER, glowIt);
	function glowIt(evt:TimerEvent):void {
		glow.blurX=getRandom(5); 
		glow.blurY=getRandom(5); 
		glow.alpha=Math.random()*5;
		clip.filters=startFilters;
}
		timer.start();
 
 
 
}
Ошибка с твоим исправлением
Код AS3:
1120: Access of undefined property event. var clip:MovieClip = MovieClip(event.currentTarget);

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Про телепатию была шутка. Поэтому уточните какая ошибка. Постарайтесь яснее излагать свои мысли. Постарайтесь впредь не использовать вложенные функции, ни к чему хорошему это не приведет.

Старый 06.09.2010, 02:20
Alex Burn вне форума Посмотреть профиль Отправить личное сообщение для Alex Burn Найти все сообщения от Alex Burn
  № 5  
Ответить с цитированием
Alex Burn

Регистрация: Sep 2010
Сообщений: 17
Ок. Я опечатался. Все работает. А щас вопрос. Как теперь использовать переменную clip в другой функции?? например MouseOut

Код AS3:
private function MenuOver(event:MouseEvent):void {
	var clip:MovieClip = MovieClip(event.currentTarget);
	timer.addEventListener(TimerEvent.TIMER, glowIt);
	function glowIt(evt:TimerEvent):void {
		glow.blurX=getRandom(5); 
		glow.blurY=getRandom(5); 
		glow.alpha=Math.random()*5;
		clip.filters=startFilters;
}
		timer.start();
}
 
private function MenuOut(event:MouseEvent):void {
 
	timer.stop();
	clip.filters=[];
}

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Точно так же – создать.

Добавлено через 2 минуты
P.S. функцию glowIt, перепишите как функцию класса, в таком виде она у вас заново создается при каждом событии таймера.

Старый 06.09.2010, 02:30
Alex Burn вне форума Посмотреть профиль Отправить личное сообщение для Alex Burn Найти все сообщения от Alex Burn
  № 7  
Ответить с цитированием
Alex Burn

Регистрация: Sep 2010
Сообщений: 17
Код AS3:
function MenuOut(event:MouseEvent):void {
	var clip:MovieClip=MovieClip(event.currentTarget);	
	timer.stop();
	clip.filters=[];
}
В таком виде у меня почему то предыдущая кнопка гаснет, но при наведении на третью загорается три, при наведении на четвертую загорается все четыре

С классами не очень дружу. Но щас пороюсь в документации, перепишу, спасибо

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
В таком виде у меня почему то предыдущая кнопка гаснет, но при наведении на третью загорается три, при наведении на четвертую загорается все четыре
А куда вы слушателя вешаете? Button не является наследником MovieClip.

Старый 06.09.2010, 03:14
Alex Burn вне форума Посмотреть профиль Отправить личное сообщение для Alex Burn Найти все сообщения от Alex Burn
  № 9  
Ответить с цитированием
Alex Burn

Регистрация: Sep 2010
Сообщений: 17
У меня не совсем кнопки. У меня иконки конвертированные в MovieClip. Я слушатель вешаю на иконку и при наведении на него у меня она загорается, а когда с нее уводишь мышку она погасает. Но при наведении на другую иконку (MovieClip) загорается та на которую я наводил прежде и та на которую навел только что. И так далее по цепочки

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Мне кажется вы делаете ошибку, если это у вас есть класс Меню, в котором все кнопки, то нужно использовать не currentTarget, а target. А если это класс каждой кнопки, то зачем тогда вообще находить ссылку?

Если первый вариант, то посмотрите исходник.
Вложения
Тип файла: rar Menu.rar (7.9 Кб, 35 просмотров)


Последний раз редактировалось samana; 06.09.2010 в 09:54.
Создать новую тему Ответ Часовой пояс GMT +4, время: 08:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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