Przykład pokazuje jak stworzyć animowane losowo umieszczane gwiazdy na niebie w ActionScript za pomocą biblioteki Tween Lite Basics, którą można pobrać z tutaj: [ pobierz ]
Wersja ON-LINE:
Stwórz najpierw nowy plik AS i nazwij go "Gwiazda.AS", wklej kod widoczny pod spodem i go zapisz. Skrypt pokazuje generowanie losowych gwiazd, grafika na pojedyncza gwiazdę musi zostać utworzona w programie Flash w wersji CS3 lub wyższej, plik nazwij "Gwiazdy.FLA".
Po stworzeniu gwiazdy, musimy ją skonwertować do klipu filmowego nazwanego "Gwiazda", potem w bibliotece naciskamy na niego prawym przyciskiem myszy i wybieramy "linkaged" lub "łączenie". Zaznacz funkcje "eksportuje dla ActionScript" nadaj mu nazwe klasy bazowej na: "Gwiazda" i daj OK.
Teraz zaznacz pierwszą klatkę w filmie Flash i naciśnij F9, otwierając w ten sposób konsole operacji, skopiuj i wklej kod dla pliku Gwiazdy.FLA zapisz go i przetestuj.
Skrypt przyjmuje wartości dla ilości wyświetlanych gwiazd, dla szerokości oraz wysokości obszaru w jakim powinny byc wyświetlane.
Kod dla pliku Gwiazda.AS
//WSZELKIE PRAWA AUTORSKIE ZASTRZEŻONE
package {
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
import gs.TweenLite;
import gs.easing.*
public class Gwiazda extends MovieClip {
private var timer:Timer;
public function Gwiazda() {
timer = new Timer(200, 0);
timer.addEventListener(TimerEvent.TIMER, timerSluchacz);
timer.start();
}
private function timerSluchacz(e:TimerEvent) {
losoweZnikanie();
}
private function losoweZnikanie():void {
var zanik = Math.random();
TweenLite.to(this, 0.8, {alpha:zanik, ease:Back.easeOut});
}
public function zatrzymanie():void {
timer.stop();
}
}
}
Kod dla pliku Gwiazdy.FLA
//WSZELKIE PRAWA AUTORSKIE ZASTRZEŻONE
//OBSŁUGA GWIAZD
var ILOSC_GWIAZD:Number = 50;
var SZEROKOSC_NIEBA:Number = 250;
var WYSOKOSC_NIEBA:Number = 200;
//TEGO KODU NIE MUSISZ EDYTOWAĆ
var niebo:Array = new Array();
for (var i:int = 0; i<ILOSC_GWIAZD; i++) {
niebo.push(new Gwiazda());
niebo[i].x = Math.floor(Math.random()*SZEROKOSC_NIEBA);
niebo[i].y = Math.floor(Math.random()*WYSOKOSC_NIEBA);
addChild(niebo[i]);
}
Listing
Ranga: Administrator serwisu Punktów: 0