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

Котяра2006 13.11.2006 14:28

Количество снежинок
 
Вложений: 1
Приветствую!

Смотрю исходник и не могу понять как там кол-во снежинок то можно изменить, подскажите пожалуйста

Заранее благодарен!

pkfun 13.11.2006 15:00

По-моему, в коде количество снежинок равно количеству fps. Можно изменить, но надо модифицировать код.
Спросите у автора, а то не знаю даже... :boredom:

ps. Просто код написан классно, не знаю могу ли я в него лезть...

Котяра2006 13.11.2006 15:16

Хорошо, спасибо я понял, может кто-то ещё сможет посмотреть?

AlexSol 13.11.2006 16:10

Код:

var counter:Number = 0;
var maxNum = 100;
var snowClipBaseName:String = "snow";
function randRange(min:Number, max:Number):Number {
        var randomNum:Number = Math.round(Math.random()*(max-min))+min;
        return randomNum;
}
this.onEnterFrame = function() {
        if (counter<=maxNum) {
                var newSnowClipName:String = snowClipBaseName+counter;
                var newSnowClipX:Number = randRange(0, Stage.width);
                var newSnowClipScale:Number = randRange(20, 100);
                var newSnowClipAlpha:Number = randRange(30, 100);
                var newSnowClip:MovieClip = this.attachMovie("snow", newSnowClipName, this.getNextHighestDepth(), {_x:newSnowClipX, _y:0, _xscale:((randRange(1, 2) == 1 ? 1 : -1)*newSnowClipScale), _yscale:newSnowClipScale, _alpha:newSnowClipAlpha});
                newSnowClip.onEnterFrame = function() {
                        if (this._currentframe == this._totalframes) {
                                _root.counter--;
                                this.removeMovieClip();
                        }
                };
                counter++;
                if (counter>1000) {
                        counter = 0;
                }
        }
};

+24 кадра в секунду.

etc 13.11.2006 16:18

Код:

var counter:Number = 0;
var snowClipBaseName:String = "snow";

function randRange(min:Number, max:Number):Number
{
        var randomNum:Number = Math.round(Math.random() * (max - min)) + min;
        return randomNum;
}

generate = function()
{
        var newSnowClipName:String = snowClipBaseName + counter;
        var newSnowClipX:Number = randRange(0, Stage.width);
        var newSnowClipScale:Number = randRange(20, 100);
        var newSnowClipAlpha:Number = randRange(30, 100);
        var newSnowClip:MovieClip = _root.attachMovie("snow", newSnowClipName, this.getNextHighestDepth(), {_x:newSnowClipX, _y:0, _xscale:((randRange(1, 2) == 1 ? 1 : -1) * newSnowClipScale), _yscale:newSnowClipScale, _alpha:newSnowClipAlpha});
        newSnowClip.onEnterFrame = function()
        {
                if (this._currentframe == this._totalframes)
                {
                        this.removeMovieClip();
                }
        }
        counter++;
        if (counter > 1000)
        {
                counter = 0;
        }
}
setInterval(this,'generate',500); // чем меньше параметр, тем больше снежинок


pkfun 13.11.2006 16:40

AlexSol
Круто! Жаль только, что работает не очень равномерно. :away:

__etc
У меня был тот же вариант. :D

Котяра2006
Только учтите, если будете использовать этот код в составе другого кода, что у вас запущен интервал и возможно его придется останавливать. Вы так же можете увеличить количество( в коде __etc это возможно), но увеличится и нагрузка на систему.

Котяра2006 13.11.2006 22:06

Ок, всем большое спасибо! Думаю хозяину этого исходника будет тоже приятно)

ЗЫ

Ещё вопрос, а как остановить в мувике этот скрипт? И как его можно положить на нижний уровень чтобы снежинки не перекрывали всё?


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

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