Форум 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=134338)

Evil Genius 27.12.2009 13:48

как полностью остановить скрипт
 
Здравствуйте.. Ламеру нужна помощь :rolleyes:
Новогодняя тема.:)
На одном из последних кадров сцены создается примерно такой снег.
Код AS1/AS2:

Stage.scaleMode = "noScale";
_root._quality = "BEST";
var dX:Number = 0;
var dY:Number = 0.25;
function glob_func() {
        _root.newX = Math.random()*1-Math.random()*1;
        _root.chX = (_root.newX-_root.dX)/(50+random(50));
        clearInterval(_root.x_int);
        _root.x_int = setInterval(function () {
                _root.dX += _root.chX;
                if (Math.round(_root.dX*10)/10 == Math.round(_root.newX*10)/10) {
                        clearInterval(_root.x_int);
                }
        }, 30);
}
setInterval(glob_func, 5000);
function move_func() {
        varDif = this._xscale/100;
        this._x += this.dX+_root.dX*varDif;
        this._y += this.dY+_root.dY*varDif;
        if (this._y>=Stage.height) {
                this.removeMovieClip();
        }
}
function snow_func() {
        varTarget = _root.attachMovie("snow_mc", "snow"+_root.getNextHighestDepth()+"_mc", _root.getNextHighestDepth(), {_y:-30, _x:-75+Math.random()*(Stage.width+75)});
        varTarget._xscale = varTarget._yscale=25+Math.random()*75;
        varTarget.dX = Math.random()*1-Math.random()*1;
        varTarget.dY = 0.5+varTarget._xscale/100;
        varTarget.onEnterFrame = _root.move_func;
}
setInterval(snow_func, 75);

После этого появляется кнопка реплея, отсылающая при нажатии на первый кадр сцены с примерно таким содержанием:
Код AS1/AS2:

on (release) {
        _root.play(1);
}

Но снег продолжает падать.. А по сценарию и для экономии ресурсов компьютера это не нужно
Остановить падение снежинок получается добавив кнопке:
Код AS1/AS2:

for(val in _root){delete _root[val]};

Но снежинки остаются на сцене.. Что дописать кнопке, чтобы снег снежинки полностью удалялись со сцены?
По разному пытался использовать removeMoveClip и еще кучу вариантов, но что-то не получается....:o

mooncar 27.12.2009 14:03

То есть
Код AS1/AS2:

for(val in _root){
  _root[val].removeMovieClip()
};

не срабатывает?

Evil Genius 27.12.2009 14:10

mooncar
Во, сработало. Не зря я писал, что я ламер..)
Благодарю за помощь!

Добавлено через 9 минут
Хотя вот вылезла проблема. При повторном воспроизведении в тот момент, когда должен пойти снег, он начинает идти в два раза гуще.. еще раз воспроизведешь - в три... и до бесконечности...
Значит удаление клипа снежинок правильное, а остановка генератора снежинок не правильная? Как исправить..?


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

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