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

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

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

Регистрация: Apr 2009
Сообщений: 77
По умолчанию Как иницализировать свойство target или currentTarget у Event?

генерю событие в контроле
Код AS3:
private function onSelect_Click(e:Event):void 
{
	dispatchEvent(new Event(Event.SELECT));
}
не могу понять как присвоить свойствам target или currentTarget ссылку на текущий контрол, чтобы передать слушателю события, прошу прощения если тема поднималась, но найти не смог

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Никак. Они инициализируются автоматически.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Код AS3:
package  {
 
	import flash.events.Event;
 
	/**
	 * 
	 * 
	 * @author gloomyBrain
	 */
	public class MyEvent extends Event {
 
		private var _myTarget:Object = null;
 
		public function MyEvent(type:String, customTarget:Object, bubbles:Boolean = false, cancelable:Boolean = false) {
 
			super(type, bubbles, cancelable);
 
			_myTarget = customTarget;
 
		}
 
		override public function get target():Object {
			return _myTarget;
		}
 
		public override function clone():Event {
			return new MyEvent(type, _myTarget, bubbles, cancelable);
		} 
 
		public override function toString():String {
			return formatToString("MyEvent", "type", "target", "bubbles", "cancelable", "eventPhase"); 
		}
 
	}
 
}
и потом где-то в коде:
Код AS3:
super.addEventListener("hello, stage!", onStageGreet);
super.dispatchEvent(new MyEvent("hello, stage!", super.stage));
 
...
 
private function onStageGreet(event:Event):void {
	trace(event.target == super.stage); // true
}
__________________
...вселенская грусть

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

блогер
Регистрация: Nov 2003
Адрес: 117593, Россия, Москва
Сообщений: 211
Записей в блоге: 2
Отправить сообщение для ~~~ с помощью ICQ Отправить сообщение для ~~~ с помощью AIM Отправить сообщение для ~~~ с помощью Yahoo Отправить сообщение для ~~~ с помощью Skype™
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Код AS3:
"hello, stage!"
Событие "hello, stage!" - это жёстко, ух
__________________
WebLog:http://flashimp.ru
IDE: http://Visuvio.com

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
gloomyBrain, не всё так круто как кажется на самом деле. Из за того, что EventDispatcher дёргает clone тогда, когда установлен target в твоём примере в хэндлер долетает клон события MyEvent, а не то, что ты создал через new строчкой ниже подписки.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Несмотря на это, я вроде ответил на вопрос автора.
Никто же не мешает переопределить currentTarget тем же макаром, или даже публичный доступ к нему прикрутить.

ЗЫ
О чем мы говорим? =) все равно проще добавить своих свойств своему событию
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 18.05.2011 в 14:11.
Старый 18.05.2011, 19:18
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
Несмотря на это, я вроде ответил на вопрос автора.
Ага. Но я считаю нужным давая такой совет дополнить его описанием side-effects.
Цитата:
О чем мы говорим? =) все равно проще добавить своих свойств своему событию
Согласен. Но, вполне возможно, автор пишет свой Composite с bubbling`ом.

Старый 18.05.2011, 19:52
il phoenix вне форума Посмотреть профиль Отправить личное сообщение для il phoenix Найти все сообщения от il phoenix
  № 8  
Ответить с цитированием
il phoenix

Регистрация: Apr 2009
Сообщений: 77
понял, спасибо

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

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

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


 


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


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