Форум 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)
-   -   Внешний прелоадер, как удалить некоторые программные элеменеого клипа (http://www.flasher.ru/forum/showthread.php?t=88054)

petrochenko1981 16.11.2006 13:47

Внешний прелоадер, как удалить некоторые программные элеменеого клипа
 
Здравствуйте Всем, подскажите пожалуйста, существует ли во флеше, как я нибудь команда по удалению клипа, такая чтобы вместе с ней удалялись и onenterFame и setinterval, которые используются мувиками в клипе. Я сделал внешний прелоадер и в некий клип постоянно подргружаю всякие мувики, используя MovieClipLoader, но так как при таком раскладе удаляется сам клип, а onenterFame и setinterval остаются, то процессор начинает перегружатся, может кто нить с талкивался с такой проблемой, или есть только такой варинт, перед загрузкой нового клипа остановить и удалить onenterFame и setinterval, просто их так порой много, что очень сложно все это дело отследить.
Заранее огромное спасибо.

screamge 16.11.2006 13:53

если я правильно понял, это должно помочь:

Код:

if (loadStatus == 100) {
                delete this.onEnterFrame;
                          delete this.setInterval ()
}


petrochenko1981 16.11.2006 13:56

Сейчас попробую, я не знал такого трюка.

petrochenko1981 16.11.2006 14:05

Не это конкретно к пределенным мувикам можно использовать, а мне бы все onEnterFrame-ы и setInterval-ы удалить в одном клипе, в котором много мувиков используют onEnterFrame-ы и setInterval-ы. Причем за раз, так если главный мувик удалять, со всеми в нем клипами, все равно onEnterFrame-ы и setInterval-ы продолжают работать.

Roland 17.11.2006 15:20

Код:

var flag=false;//В первом кадре flag, он будет указывать на то, что нужно грохнуть все энтерфрэймы и интервалы.
mc.onEnterFrame = function () {
if (_root.flag==true) {//Это условие добавляешь при создании любого мувика (который должен быть в последствии удалён).
  delete this.onEnterFrame;
  delete this.setInterval ()
  }
}

//Если тебе нужно будет удалить все энтерфреймы и интервалы, то пишеш _root.flag=true; И всё удаляется :-)


Kikasso 17.11.2006 21:16

onEnterFrame удалается вместе с клипом, на который он подвешен.
delete this.setInterval - это извините не сработает.
надо писать
Код:

function f(){
//....
trace("hello" + i);
if(i++ > 10) clearInterval(int);
};
var i = 1;
var int = setInterval(f, 500);

Или используй метод setTimeout(), чтобы не морочится с очисткой.


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

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