Forum > Software > ACTION SCRIPT - szybkie pytanko :)

Strona 1 z 1 1
skocz

Gimmickz

Wysłane 2014-11-27 17:01

Robię pewien projekt, animacje, cała kampanię...

Pech chciał, że w jej skład wchodzą banery flashowe :silly: ... niedużo, nawet już sobie poradziłem z całością, bo flasha trochę ogarniam, ale już AS nie bardzo...

Tak więc w moim banerze 300x100 pixeli pada sobie śnieg... użyłem do tego kodu, który znalazłem w sieci i dostosowałem do swojego projektu:


(to siedzi na MovieClipie ze śniezynkami):

onClipEvent (load)
{
    this._x = 0 + Math.random() * 550;
    this._y = -50 + Math.random() * 400;
    this._alpha = Math.random() * 500;
    var size;
    size = Math.random() * 100;
    if (size >= 50 && size <= 100)
    {
        this._xscale = size;
        this._yscale = size;
    }
    else
    {
        this._xscale = 90;
        this._yscale = 90;
    }
}
onClipEvent (enterFrame)
{
    pos = pos + Math.random() * 1.000000E-001;
    this._x = this._x + Math.sin(pos);
    this._y = this._y + 1 + Math.random() * 4;
    if (this._y >= 300)//400 is the width of the Movie.
    {
        this._y = this._y - 500 + Math.random() * 100;
        this._x = 0 + Math.random() * 550;
    }
}


(to siedzi oddzielnie na warstwie AS):

var i = Math.random() * 1;
for (i=0;i<100;i++)
{
    duplicateMovieClip("snow", "snow"+i, i);
}



I wszystko działa pięknie... ale teraz na bazie tego bannerka 300x100 muszę zrobić 750x100 i tutaj zaczynają się schody, bo sama zmiana rozmiaru dokumentu plus zmiana tej wartości z 300 na 750:
   if (this._y >= 300)//400 is the width of the Movie.

...za wiele nie daje.

Śnieg pada fajnei na początku, na pierwszych klatkach - a później już tak "niemrawo"


Co zmienić aby padał równo i gęsto na całym bannerze i przez cały czas? :)

All the small things... 2500k, ASRock Extreme4 Z68, 16GB DDR3, Samsung 830 128 GB itd... & iPhone 6s 64GB

NetCop

  • NetCop
  • wiadomość Moderator

  • 14977 wypowiedzi

Wysłane 2014-11-27 17:56 , Edytowane 2014-11-27 17:56

Jeśli dobrze czaję te X i Y to ten skrypt jest przygotowany dla obszaru 550x400 pikselków.
Spróbuj zmienić:

 this._x = 0 + Math.random() * 750
this._y = -50 + Math.random() * 100;

    if (this._y >= 650)//400 is the width of the Movie.
   {
       this._y = this._y - 200 + Math.random() * 100;
       this._x = 0 + Math.random() * 750;
   }


Najwyżej zamiast śniegu będą leciały bałwanki :ninja:

ten, który pcha ten wózek ...
Strona 1 z 1 1
skocz

Kto jest online: 1 użytkowników, 209 gości

SlawoyAMD ,