Wirtualny kosz
~ pozostałe przykłady ~Użyj funkcji startDrag, stopDrag, _droptarget, onPress i onRelease aby stworzyć wirtualny kosz.
Ten tutorial jest na poziomie zaawansowanym, musisz już rozumieć na tym etapie podstawowe czynności w programie Flash Designer.
Możesz pobrać gotowy kod projektu t1049.zip (86 KB)
- Otwórz program Flash Designer i ustaw rozmiar ramki na 300 x 300.
- Stwórz 4 puste ramki uzywająć polecenia "Ramka" > "Nowa" i otrzymasz w rezultacie ramki o nazwach "Frame 1" do "Frame 5" w oknie z listą ramek.
- Zaimportuj obrazek "pieceofpaper.gif" (Plik > Importuj obraz) i umieść go poza widoczną częścią filmu.
- Zamień go na sprite (Edycja > Zamień na Sprite), nazwij go "Garbage" i zaznacz opcję "Obiekt w ActionScript" (Obiekt > Właściwości wyświetlania)
- Zaimportuj obrazek "opentrash.gif" i umieść go na pozycji X:170, Y:118 (Edycja > Przesuń do) .
- Narysuj elipsę na górze okręgu kosza, na jego otworze. Ustaw kolor wypełnienia na czarny, przezroczystość 1%, brak obramowania
- Zamień go na sprite, nazwij go "Hole" i zaznacz opcję "Obiekt w ActionScript"
- Napisz tekst "Przenies wszystkie papiery do kosza"
- Dodaj ActionScript ramki (Ramka > ActionScript):
maxpapers=1;
- Wstaw tekst "GOTOWE!"
- Ustaw tło na ramkę "Frame 1"
- Ustaw czas ramki na "Stop"
- Ustaw tło ramki na "Frame 1"
- Zaimportuj dźwięk "laser.wav"i ustaw dźwięk ramki
- Dodaj kod ActionScript dla ramki:
maxpapers = maxpapers * 2; // za każdym razem podwaja ilość elementów - papierków collected = 0; // zlicza zebrane elementy function checkifallcollected() { // sprawdza czy wszystkie elementy zostału zebrane w koszu i przechodzi do ramki z gratulacjami if(collected==maxpapers) gotoAndPlay("Frame 4"); } // przechowuje wszystkie obiekty - papiery var garbages = new Array(); // tworzy maksymalną ilość elementów na animacji for(i=0;i<maxpapers;i++) { // tworzy nowy obiekt - papier garbage[i] = Garbage.duplicateMovieClip("garbage"+i,100+i); // ustawia w przypadkowych miejscach i pod przypadkowym kątem garbage[i]._x = 30+100*Math.random(); garbage[i]._y = 30+200*Math.random(); garbage[i]._rotation = 360*Math.random(); // definiuje zdarzenia myszki garbage[i].onPress=function() { this.startDrag();}; garbage[i].onRelease=function() { // sprawdza czy element znalazł się w obrębie elipsu-góry kosza if(this._droptarget=="/Hole") {this.removeMovieClip();collected++;} stopDrag(); checkifallcollected(); }; }
- Zaimportuj dźwięk "elecshot.wav" i ustaw dźwięk ramki
- Zaimportuj obrazek "closedtrash.gif" i ustaw go na pozycji X:174, Y:163.
- Ustaw czas ramki na 3 seconds
- Ustaw tło ramki na "Frame 4"
- Ustaw skok do ramki 'frame 2' ("Ramka" > "Skok")
- Zaimportuj dźwięk "clap.wav" i ustaw dźwięk ramki