PDA

Просмотр полной версии : как убить функцию назначенную onEnterFrame


Krimson
31.05.2004, 17:33
Есть некая функция н раз делающаая ляп-ляп н - всегда разное
function lap(){
....
}

ref=lap
сделал ссілку

в некий момент когд амне нужно сделать пару ляпов я надеваю ее на некий мувиклип
test_mc.onEnterframe=ref
но бівают моменты, когда мне нужно прервать выполнение етой функции несмотря на то что она не отработала свои н раз.
как это сделать?
delete ref не получается почему-то

dimarik
31.05.2004, 17:39
Попробуй

delete test_mc.["onEnterframe"];

или

delete lap;

rojok-online
31.05.2004, 20:31
delete (test_mc.onEnterframe)

artfla$her
01.06.2004, 00:54
Можно и без скобок, если я не ошибаюсь.

fmsmith
01.06.2004, 14:02
test_mc.onEnterframe=null;
убить не убьёшь, но здоровье будет уже не то :)

Dindin
02.06.2004, 00:20
Подвожу итог.
1) правильный синтаксис - delete reference - reference - объект или переменная, которую нужно уничтожить.
2) delete (reference ) - тоже работает, точно так же, как работает, к примеру, (random((num))) - лишние скобки погоды не делают.
3) test_mc.onEnterframe=null; - не уничтожает объект, а присвает ему ссылку на null. То есть onEnterFrame продолжает выполняться, но с пустым набором действий, так что этот способ нельзя считать правильным.
4) delete test_mc.["onEnterframe"]; - правильный синтаксис, но имхо, проще и понятнее delete test_mc.onEnterframe; Хотя, и это зависит от обстоятельств, но лично я считаю, что слишком редки ситуации, в которых нужно обращаться к onEnterFrame как к члену ассоциированного массива.

Dixi