Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как одним махом удалить ВСЕ onEnterFrame? (http://www.flasher.ru/forum/showthread.php?t=108906)

Olegg 04.03.2008 15:46

Ну да,извините за оффтоп.Просто я не пользуюсь onEnterFrame() и никому не советую.Интервалы вычищаются тоже одной строкой - clearInterval(id).Проще их создавать и удалять вместо onEnterFrame().Мне проще. :)

Mr. Fixit 05.03.2008 02:09

вычищать интервалы правильно так, насколько я знаю, епт :
Код:

clearInterval(someInterval);
delete someInterval;


iNils 05.03.2008 02:38

setInterval хорошо для действий асинхронных фпс. В остальных случаях не надо поддоваться всяким фобиям, а лучше и удобнее использовать onEnterFrame напрямую или такую конструкцию:
Код:

function test () {
        // код
}
this.onEnterFrame = test;

а когда нужно удалить, сделать
Код:

delete this.onEnterFrame;
Почему лучше onEnterFrame:
1. Его проще контролировать. Весьма часты ошибки с многократным запуском setInterval, переписыванием id и как следствие, потери контроля над запускаемой функцией. Кроме того, удалие мувиклипа, автоматически удаляет onEnterFrame, чего не делает setInterval, продолжая в холостую работать.
2. setInterval действует асинхронно фпс, что может привести к рассинхронизации программной анимации и нарисованной.
3. Действия setInterval визуально автоматически отображаются только после отрисовки кадра (по фпс) следующего после вызова функции. Хотя можно вручную обновить экран с помощью updateAfterEvent ()

chingachgoog 05.03.2008 13:00

onEnterFrame еще имеет одно крайне полезное применение:

Код:

мой_мувик.onEnterFrame=function(){
// отлавливаемое свойство.
delete this.onEnterFrame
}

Например, есть некое текстовое поле с автосайзом или подгружена флешка, где реальные размеры графики отличаются от размеров стейджа и нам надо узнать их настоящие размеры высота/ширина.


Часовой пояс GMT +4, время: 19:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.