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

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

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

Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
Цитата:
Сообщение от udaaff Посмотреть сообщение
mickfallout, автор хочет передать параметр вместе с событием, т.е. сама переменная необязательно должна быть доступна в объекте, в котором вы подписываетесь на это событие.
ну в таком виде как раз локальная переменная функции(function Main) передается в обработчик. в объекте она недоступна.
Код AS3:
package {
	import flash.display.MovieClip;
	import flash.events.*;
	public class Main extends MovieClip {
		public function Main() {
			super();
			var localArg:String = "local Argument";
			var handler:Function = function(event:Event):void { multiArgumentHandler(event, localArg, handler); };
			addEventListener(Event.ENTER_FRAME, handler);
		}
		public function multiArgumentHandler(event:Event, argument:String,handler:Function):void {
			trace("localArgument = "+ argument );
			removeEventListener(Event.ENTER_FRAME, handler);
		}
	}
}
Цитата:
Сообщение от gait Посмотреть сообщение
думал, что может быть есть простое решение (типа addEventListener(Event.ENTER_FRAME, traceNumEnterFrame(myVar))
Итого: вместо
Код AS3:
addEventListener(Event.ENTER_FRAME, traceNumEnterFrame(myVar))
писать
Код AS3:
var handler:Function = function(event:Event):void { traceNumEnterFrame(myVar); };
addEventListener(Event.ENTER_FRAME, handler);
и не забывать думать о том что если подписываешься на событие - скорее всего нужно будет и отписаться.

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

Теги
anonimous function , вложенность

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

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


 


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


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