PDA

Просмотр полной версии : Количество снежинок


Котяра2006
13.11.2006, 14:28
Приветствую!

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

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

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
Ок, всем большое спасибо! Думаю хозяину этого исходника будет тоже приятно)

ЗЫ

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