Просмотр полной версии : передача локальных properties функции (addEventListener)
CrazyFlasher
11.01.2008, 21:05
в АС2 я делал так:
someObj.addEventListener(Events.LOL, Delegate.create(this, function(){
myFunc(mc)
}));
//где mc - локальный MovieClip
(кто-то, наверное, скажет, что криво, но работало всегда и никогда не вызывало проблем)
можно ли как нить передать параметр похожим образом в АС3?
Aziz Zaynutdinoff
11.01.2008, 21:46
mc — это переменная класса, насколько я вижу из кода? Если так, то в чем вопрос? все тоже самое, только без делегирования.
CrazyFlasher
11.01.2008, 21:49
нет, не класса, а локального метода...если б была класса, то вопроса не было бы :)
все необходимые данные передаются в самом объекте-событии(которое идёт аргументом в слушатель). если надо передать что-то дополнительное, то делаем кастомное событие(расширяющее обычный Event) и всё что надо укладываем в него
†‡Paladin‡†
11.01.2008, 21:55
Жуть. Во первых класса Delegate в as3 нету. Во вторых передавать параметр стандартными эвентами нельзя. Нужно создавать свои собственные и оперировать ими.
Если хочется написать обработчик эвента прямо в addEventListener, то это вполне возможно (но не факт что это кашерный способ).
myClass.addEventListener(myEvent, function handler(e:Event):void { trace("Hello World!")});
CrazyFlasher
11.01.2008, 21:57
ок, теперь встало всё ясно ;-) спасибо!
P.S. Я в курсе, что Delegate в AS3 нету. Привёл пример из AS2
В AS3 делегат просто не нужен.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.