PDA

Просмотр полной версии : onEnterFrame = function_name(parametr) - не работает


$mival
15.12.2005, 22:54
В общих чертах: Динамически создаётся мувик. В нём через onEnterFrame рисуется 3D кубик. Захотелось мне функцией прорисовки кубика как-то поуправлять - попередавать ей параметры. Да что-то при этом вставка кадров (EnterFrame) глохнет после первого кадра.

rendering = function (par:Number) {
...
}
mc_name.onEnterFrame = rendering(3);

Здесь только 1 кадр отображается. А если без параметра:

rendering = function {
...
}
mc_name.onEnterFrame = rendering;

То усё нормально. Причина?

iNils
15.12.2005, 23:18
1. onEnterFrame вызывается без параметра
2. mc_name.onEnterFrame = rendering(3) не вызывает функцию rendering в каждом фрейме (то есть не присваивается указатель на функцию), а присваивает onEnterFrame значение возвращаемой функцией (так как скобки позади rendering вызывают эту функцию). Вот пример, где onEnterFrame присвоино значение 5 :) :
f = function () {
trace ("K");
return 5;
};
this.onEnterFrame = f ();
trace (this.onEnterFrame);

$mival
15.12.2005, 23:57
так. это понятно. как тогда быть в моём случае? использовать глобальные переменные чтоли?

Antares
16.12.2005, 01:54
Не глобальные, но видимые.