![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Dec 2006
Сообщений: 207
|
У меня есть класс :
class Curs extends MovieClip {
private var onEnterFrame:Function;
public function Curs() {
onEnterFrame = moveCurs;
}
public function moveCurs(x:Number,y:Number,z:Number):Void {
_y = _root._xmouse;
_x = _root._ymouse;
trace(x);
trace(y);
trace(z);
}
}
moveCurs(1,2,3); Мне в Output'e постоянно выдаёт undefined. Почему так происходит ? |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 207
|
А почему тогда он не видит, переменные которые были заданы в методе ?
Вот : public function moveCurs(x:Number,y:Number,z:Number):Void {
_y = x;
_x = _root._ymouse;
x++;
trace(x);
trace(y);
trace(z);
}
Сначало он(Объект) встаёт на положение 11 и всё, дальше стоп. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
onEnterFrame не передает аргументы.
Если хотите с аргументами, то создаете у себя такой класс (надеюсь знаете, что для пакетов надо создать папки): /**
* Класс ru.inils.framework.Delegate, модифицированный mx.utils.Delegate. Выполнение функции в заданной области видимости с передачей аргументов.
*
* @author iNils
* @version 1.2
* @see mx.utils.Delegate
* Изменения:
* 1.2 (xx.xx.07)
* [*] Переехал из пакета ru.inils.util.Delegate
*
* 1.1 (xx.xx.07)
* [+] Добавлена возможность передавать аргументы "родного" метода
*
* 1.0 (xx.xx.06)
*/
class ru.inils.framework.Delegate {
/**
* Метод, передает событие в заданную область видимость и в заданный метод.
*
* @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:Object = arguments.callee.target;
var funcTemp:Function = arguments.callee.func;
var argTemp:Array = null;
if (arguments.callee.arg) {
argTemp = arguments.callee.arg;
} else {
argTemp = arguments;
}
return funcTemp.apply (targetTemp, argTemp);
};
f.target = obj;
f.func = func;
f.arg = arg;
return f;
}
}
|
|
|||||
|
Регистрация: Dec 2006
Сообщений: 207
|
Спасибо.
А, чтобы moveCurs(); заработал, как надо, тогда надо x,y,z объявить заранее ? |
|
|||||
|
Регистрация: Dec 2006
Сообщений: 207
|
спасибо
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|