Loading:


    Tworzenie spadającego losowego śniegu we Flashu [AS 2]

    Skrypt pokazuje jak łatwo stworzyć efekt spadającego śniegu z własnej grafiki.

     

    1. Aby uruchomic skrypt należy posiadać dwie warstwy na filmie (actions, snieg).

     

    2. Na warstwie 'snieg' należy stworzyć grafikę pojedynczej śnieżki oraz skonwertować ją jako klip filmowy. Nastepnie potrzeba umieścić klon klipu tuż nad obramowaniem filmu Flasha w górnym lewym rogu i nacisnąć F9 aby dodać kod do klpiu.

     

    3. Dodajmy cały kod z listingu 1.0, zamknijmy okno skryptów oraz dodajmy nazwę instancji klipu filmowego na nazwę 'snieg'.

     

    4. Teraz zaznacz pierwszą klatke warstwy 'actions' i otwórz okno skryptów.

     

    5. Dodaj kod z listingu 2.0, pamiętając, że k<20 to wyświetlenie tylko 19 śnieżek na filmie, można to dowolnie modyfikować.

     

    Kompatybilność: Flash MX 2004



    Napisz Artyku³

    Listing

    //listing 1.0

    //jeśli klip się załaduje
    onClipEvent (load) {
            //ustawienie szerokości i wysokości obraz w jakim mają spadać śnieżki
            szerokoscFilmu = 238;
            wysokoscFilmu = 60;
           
            //zmienne wartości któr zmodyfikują spadający śnieg i - prędkość spadania. k - kąt spadania
            i = 2-Math.random();
            k = -Math.PI+Math.random()*Math.PI;
           
            //wymiary pojedynczej śnieżki (nie mniejsza niż 5px)
            this._xscale = this._yscale=5+Math.random()*100;
            //przezroczystość śnieżki (nie mniejsza niż 75%)
            this._alpha = 75+Math.random()*100;
            //położenie x oraz y z przedziału pomiedzy wartościami podanymi na początku
            this._x = -10+Math.random()*szerokoscFilmu;
            this._y = -10+Math.random()*wysokoscFilmu;
    }
    //animacja śnieżki
    onClipEvent (enterFrame) {
            //składanie wszystkie w całość
            //kąt pod jakim spadają śnieżki
            rad += (k/180)*Math.PI;
            this._x -= Math.cos(rad);
            //animacja śnieżki na dół
            this._y += i;
            //śnieżka będzie spadała do momentu gdy nie wyjdzie poza obramowanie filmu
            if (this._y>=wysokoscFilmu) {
                    this._y = -5;
            }
            //jeśli nasze śnieżki spadaly by pod ukos, wtedy podczas dotykania krawędzi by się odbijały od niej
            if ((this._x>=szerokoscFilmu) || (this._x<=0)) {
                    this._x = -10+Math.random()*szerokoscFilmu;
                    this._y = -5;
            }
    }

    //listing 2.0
    //zmienna k to ilość stworzonych śnieżek w filmie
    for (k=0; k<20; k++) {
            duplicateMovieClip(this.snieg, "snieg"+k, k);
    }




    Dodano przez: divix
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors