|
|
|||||
onPress+Delegate
Здавствуйте, многоуважаемые.
Есть такая проблемма, часа 2 уже бьюсь. Есть класс, его прилепляю к мувику в котором есть другой мувик, и на вложенный мувик на onPress надо создавать Delegate. Создается отлично и переменные класса видит, но почему то не видит тот объект от которого вызывался. import mx.utils.Delegate; class TTT extends MovieClip { var button1:MovieClip;//есть такая кнопка в мувике public function TTT(){ this.button1.onPress=Delegate.create(this,Button1Press);//delegate собственно } function Button1Press(ThisO:Object){ this.button1._x=0;//видит, понятно почему, и двигает в 0 ThisO.gotoAndStop(2);//очень надо с ним пообщаться :) trace(ThisO);//undefined, просто, а не [object] } }
__________________
"We Are The Champions My Friends!" Queen |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
/** * Класс ru.inils.util.Delegate, модифицированный mx.utils.Delegate. Выполнение функции в заданной области видимости с передачей параметров. * * @author iNils * @version 1.0 * @see mx.utils.Delegate */ class ru.inils.util.Delegate extends Object { /** * Передача событий от любого объекта к любому объекту. * * @usage public static create (obj:Object, func:Function, arg:Array) : Function * @param obj Object - Объект, целевая область видимости. * @param func Function - Метод, обработчик данного объекта. * @param arg Array [дополнительный параметр] - Массив передаваемых аргументов. * @return Function - Функция обработчик. */ public static function create (obj:Object, func:Function, arg:Array):Function { var f = function () { var targetTemp = arguments.callee.target; var funcTemp = arguments.callee.func; var argTemp = arguments.callee.arg; return funcTemp.apply (targetTemp, argTemp); }; f.target = obj; f.func = func; f.arg = arg; return f; } } import ru.inils.util.Delegate; class TTT extends MovieClip { var button1:MovieClip; //есть такая кнопка в мувике public function TTT () { this.button1.onPress = Delegate.create (this, Button1Press, [{x:5, y:6}]); //delegate собственно } function Button1Press (ThisO:Object) { this.button1._x = 0; //видит, понятно почему, и двигает в 0 ThisO.gotoAndStop (2); //очень надо с ним пообщаться :) trace (ThisO.x); //undefined, просто, а не [object] } } |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Ужыс.
iNils, по-моему, это не совсем то. CorC, в onRelease никаких параметров не передается. Ты же можешь обратиться к button1, так ведь? Что ещё нужно? |
|
|||||
Как ни странно, работает Спасибо, а я велосипед изобретал 2 часа...
__________________
"We Are The Champions My Friends!" Queen |
Часовой пояс GMT +4, время: 18:10. |
|
« Предыдущая тема | Следующая тема » |
|
|