Ruch 3D przy użyciu ActionScript 1. Uruchom program Flash
Transkrypt
Ruch 3D przy użyciu ActionScript 1. Uruchom program Flash
Ruch 3D przy użyciu ActionScript 1. 2. 3. 4. 5. 6. 7. 8. Uruchom program Flash Designer i utwórz nowy dokument Wybierz Film > Opcje eksportu i ustaw wersję SWF na Flash Player 6 Ustaw rozmiar ramki na 300 x 300 Ustaw czas ramki na 0.05 sekundy Wybierz narzędzie "Elipsa" i narysuj okrąg przytrzymując wciśnięty klawisz CTRL Wybierz z menu "Obiekt" > "Przejście tonalne" Wybierz z rozwijanej listy typ gradientu "Zwykły", a w dolnej rozwijanej liście "Centralny" Kliknij na kolor dla środka i zmień go na dowolny kolor (to będzie kolor jaśniejszy), np. #99FF66 9. Kliknij na kolor dla brzegu i zmień go na kolor ciemniejszy niż poprzedni (to jest kolorcień), np. #66CC66 10. Kliknij na przycisk "Zaawansowane" i zmień "Delta X" i "Delta Y" na wartości "-50" (jest to przesunięcie środka rozchodzenia się gradientu) 11. Zatwierdź wypełnienie kuli gradientem klikając OK 12. Wybierz "Edycja" > "Zamień na Sprite (Movie Clip)", kula zostanie automatycznie nazwana "Sprite2" 13. Wybierz "Obiekt" > "Właściwości wyświetlania", zaznacz opcję "Obiekt w ActionScript" i zmień nazwę w polu "Nazwa obiektu" na "Kula", kliknij OK 14. Wybierz "Ramka" > "ActionScript" i wklej poniższy kod: Angle++; // zwiększa kąt o 1 stopień w każdej ramce rad = Angle / 20; // dzieli kąt przez prędkość // obliczanie wartości x i y kuli // sin i cos przyjmują wartości pomiędzy -1 i 1 X = Math.sin(rad) * 100; // X: -100 do +100 pikseli w poziomie Y = Math.cos(rad) * 30; // Y: -30 do +30 pikseli w pionie // umieszcza kulą na pozycji x i y // (120,120) to środek Kula._x = 120 + X; Kula._y = 120 + Y; // przeskalowanie kuli na podstawie wartości y (oś pozioma) // odwrotność y kiedy zwiększa się skala // 100 to normalna wielkość Kula._xscale = 100 + Y; Kula._yscale = 100 + Y; // stopniowanie jasności kuli na podstawie również wartości y Kula._alpha = 75 + Y / 2; Padający śnieg 1. 2. 3. 4. Uruchom program Flash Designer i ustaw rozmiar animacji 400 x 300 (lub inny potrzebny). Zmień czas trwania ramki na "Stop". Dodaj nową ramkę, zmień ramkę "Frame 1" na matrycę - zaznacz opcję "Matryca" Przejdź do ramki "Frame 1", zaznacz "Master Frame (1)" jako tło: Tworzenie śniegu 1. Przejdź do ramki "Frame 1" 2. Narysuj elipsę około 16x16 pikseli, ustaw grubość linii na "Brak" ("Obiekt" > "Grubość linii") 3. Wypełnij radialnym gradientem (kolor środkowy - biały, zewnętrzny kolor - "brak koloru") "Obiekt" > "Przejście tonalne" Centralny" 4. Przekonwertuj na sprite ("Edycja" > "Zamień na Sprite") 5. Zmień nazwę na "Snowflake" i zaznacz opcję "Obiekt w ActionScript" w menu "Obiekt" > "Właściwości wyświetlania" 6. Przesuń klip filmowy "Snowflake" poza obszar ramki, aby nie był widoczny Tworzenie tła 1. Przejdź do ramki "Master Frame (1)" 2. Narysuj prostokąt o wymiarach 400 x 300 i ustaw szerokość linii jak wcześniej na "Brak" 3. Wypełnij go pionowym (vertical) gradientem, ustaw górny kolor na ciemny niebieski, a dolny kolor na jasny niebieski 4. Wyśrodkuj prostokąt na głównej ramce Dodanie ActionScriptu: Przejdź do ramki "Frame 1", wybierz z menu "Ramka" > "ActionScript" wklej poniższy kod: maxsnowflakes = 100; var snowflakes = new Array(); for(i=0;i<maxsnowflakes;i++) { snowflakes[i] = Snowflake.duplicateMovieClip("snowflake"+i,100+i); // ustawianie w przypadkowym miejscu snowflakes[i]._x = Stage.width*Math.random(); snowflakes[i]._y = Stage.height*Math.random(); snowflakes[i]._xscale = 40+Math.random()*60; snowflakes[i]._yscale = snowflakes[i]._xscale; } snowflakes[i].yspeed = Math.random()*4+ 1; snowflakes[i].increment = -0.025+Math.random()*0.05; snowflakes[i].onEnterFrame = function() { this.radians = this.increment + this.radians; this._y = this.yspeed + this._y; this._x = Math.sin(this.radians) + this._x; if (this._y>Stage.height) { this._y = 0-10; this._x = 0-10+Math.random()*Stage.width; } }