Bygg en Mini Golf spill med Action 3.0

Build en Mini Golf spill med Actionscript 3.0
en
Del
to
Del
Cyber ​​Monday Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

I denne opplæringen Jeg skal vise deg hvordan du kan lage fine Mini Golf spill med Actionscript 3.0. We'll arbeid med hendelsesbehandlinger, funksjoner og også Timer objekt som er en veldig kul funksjon i AS3.



Innledning

Du finner det er mye tegning involvert med dette prosjektet. Hvis du heller ikke gjøre alt selv, bare laste ned filen programmeGolf.fla og hoppe til trinn 19 hvor programmerings del begynner

Trinn 1:. New File

La oss start ved å åpne en ny Actionscript 3.0 Flash File

Trinn 2:.. Dokumentinnstillinger

Endre dimensjonene i egenskapspanelet (600px 400 piksler) og sette bildefrekvens på 30 bilder i sekundet Anmeldelser
Trinn 3: Lage bakgrunns

Nå we'll forberede noen grafikk. Lag et rektangel (600px 400 piksler) og legg den til koordinerer 0, 0. Fyll rektangelet med en gradient (# 0066FF til #FFFFFF).

Velg objektet, og trykk på F8. Velg Movie Clip og gi den navnet "bakgrunn"

Trinn 4:. Legge Skyer og trær

Gå inn i bakgrunnen objekt (dobbeltklikk på den) og legge til noen grafikk. Jeg har lagt skyer og trær ved bare å plukke penselverktøyet og tegne noen enkle figurer. Gjør dette på et nytt lag for å holde ting organisert. For skyene Jeg brukte en lys blå farge (# 8FBBE8), for trær en lys fiolett farge (# 8DA5C7). Endelig dukket Jeg skyer og trær langs min scenen

Clouds

Trær

Endelig resultat

Trinn 5:. Ground

På hovedscenen skape et rektangel (600px x 50 piksler) og legg den til koordinerer 0, 350. Fyll rektangelet med en gradient (# 543201 til # 985B01).

Velg objektet, og trykk på F8. Velg Movie Clip og gi den navnet "bakken". Endre sin påmelding til venstre og eksport objekt for Actionscript. Klikk OK

Trinn 6:. Grass

Gå ned i bakken objekt (dobbeltklikk på den) og opprette et nytt lag. Plukk rektangel Primitive Tool (R), tegne en figur (10px av 20px) og plassere den på koordinatene 0, -35. Sett hjørneradiusen til 4px.

Kopier disse rektangler over hele scenen lengde. Nå velger alle av dem, gjøre dem redigeres (Ctrl + B) og fylle dem med en gradient (# 009900 til # 35FD35)

Trinn 7:. Hole

Nå skal vi lage en form som vil skjule vår jord og gress. Color derfor doesnt rolle. Lag et rektangel (900px ved 70px) og plassere den på koordinerer -300, -40.

opprette et "hull" form (20px av 40px) ved hjelp av Oval og rektangelverktøyet deretter plassere den på koordinerer 300, -40. Nå sørge for at hullet formen er på samme lag med vår blå firkant laget før. I så fall velger du den og slette. Du bør få den endelige utformingen av masken.

Trykk F8 og konvertere den til et filmklipp. Endre registreringspunkt til venstre og gi den navnet "grassMask". Når Movie Clip er opprettet, gir det en forekomst navnet "grassMask".

Nå bør vi sette maskering. Dobbeltklikk på laget der på bakken objekt er og velg "maskert" alternativet. Gjør det samme med gresset lag. I lag som inneholder "grassMask" objekt velge "maske" alternativet. Nå kan du la "bakken" objektet og gå tilbake til hovedscenen

Trinn 8:. Flag

Velg Brush Tool (B) og tegne en eierandel objekt (# C25C00). Nå plukke rektangel Tool (R) og tegne en Flag objekt (#FFDCDC). Velg både gjenstander og trykk F8. Velg Movie Clip og gi den navnet "flagg". Endre registreringspunkt og eksportere den for Action

Trinn 9:. Character

Nå er den verste delen begynner :) tegne en karakter. Jeg pleier å tegne noe for hånd og deretter tegne det i Flash, så la oss bruke min håndtegnet skannet bilde. Last den ned her og importere den inn i biblioteket (Fil > Import > Importer til bibliotek ...). Opprett en ny filmklipp (Ctrl + F8) og gi den navnet "bearMC". Dra bjørnen fra biblioteket på scenen, låse laget som inneholder bitmap og opprette et nytt lag. Vi må skille kroppsdeler slik at hver del vil være i et lag

Trinn 10:. Kroppsdeler

La oss starte med et hode. Plukk Brush Tool (B). Velg den største sirkel form og brun farge (# 432801). Begynne å tegne omrisset av hodet. Til slutt kan du velge Paint Bucket Tool (K) og fylle hodet med farger. God isn'ti det? :) Gjør det samme med armer, kropp, ben og golf pinne. Ikke glem å plassere alle deler i separate lag

Trinn 11:. Justering Kroppsdeler

Nå bør vi gjøre noen endringer. Først av alt slette lag med bjørn bitmap (vi bør også slette bjørnen bitmap fra biblioteket). Nå velger hele karakteren gjennom alle lagene. Fordi vi vil laste tegnet dynamisk ved hjelp av Actionscript, må vi ha riktig skala. Pick Free Transform Tool (Q) og gjøre bjørnen mindre (ca 80px bred)

Trinn 12:. Konvertering Kroppsdeler til Filmklipp

Klikk på det første bildet av hodet lag. Hele hodet skal nå velges. Trykk F8 og gi den navnet "hodet". Eksportere den for Action også. Gjør akkurat det samme med kroppen ("body"), armer ("armer") og stokk ("stikke")

Trinn 13:. Justering Pivot Points

Hvert objekt i Flash roterer rundt et dreiepunkt, så vi må justere dreiepunktene i vår pinne og armer. Gjemme hodet og kroppen lag og velg pinnen og armer lag. Du skal se dreiepunktene våre stedene.

Opprett en slags preg på et eget lag hvor de svinger burde egentlig være (mellom skuldrene) for å tillate riktig rotasjon.

Nå tar én av objektene og dra den inn på mark (dreiepunkt bør være på mark). Gjør det samme med det andre objektet.

Nå unhide alle lag og slette merket vi gjort før. Gå inn i armene objekt (dobbeltklikk på den) slik at du kan plassere armene i riktig posisjon.

La armene protestere og gjøre det samme med stokken.

Trinn 14 : Plassering av bjørn

Gå til hovedscenen, og opprette et nytt lag, navnet "bear". Ta "bearMC" fra biblioteket og dra den inn på hovedscenen. Med vår "bearMC" valgt trykk Ctrl + B. Nå kan du slette "bearMC" fra biblioteket

Trinn 15:. Apple

Trykk Ctrl + F8 og skape nye filmklipp. Name it "eple" og eksportere den for Actionscript. Bruk Brush Tool (B) og tegne et eple form. Du kan også legge til blad og en stilk hvis du vil. Nå velger hele objektet og skalere det ned ved hjelp av Free Transform Tool (Q), maksimalt 20px bredt

Trinn 16:. Apple Animation

Velg hele objektet på nytt, og trykk på F8. Name it "appleFall". Registreringen punktet bør være i midten. Gi den en forekomst navnet "appleFall" i egenskapsvinduet.

Gå inn i "appleFall" objekt (dobbeltklikk på den). Lag et nytt lag og gi den navnet "action". Gå til rammen 7 og opprette en ny keyframe (F6). Så gå til handlinger panel (F9) og skriv:.
Stop ();

Velg den første rammen og gjøre det samme

Nå kan du legge keyframes (F6) i andre, fjerde, sjette og syvende rammene av "eple" lag. Velg andre til sjette ramme og skape en bevegelse mellom (Høyreklikk > Create Motion Tween)..

Nå posisjons epler i nøkkelbildene omtrent på plassene vist på bildet nedenfor

Hvis alt er OK kan du gå tilbake til hovedscenen, og dra en "eple" objekt fra biblioteket til scenen

Trinn 17:. Tekstfelt

Lag et nytt lag og endre navn til "-meldinger ". Plukk en Text Tool (T) og opprette et nytt tekstfelt i midten av scenen (jeg valgte en blå Arial font). Sett felttype til Dynamic Tekst og tildele en forekomst navn "myMessage". Du kan låse lag nå

Trinn 18:. Score Counter

Lag et nytt lag og gi den navnet "counter". Igjen drar et eple objekt fra biblioteket på scenen og plassere den på 30, 30. Trykk Ctrl + B to ganger (fordi vi har to filmklipp å bryte - eple og appleFall) og fylle gjenstanden med en hvit farge. Gjør fem tilfeller og plassere dem i en linje. Velg alle av dem og trykke F8. Name it "counterBcg". Gå til egenskapspanelet og endrer farge fra ingen til alfa på 40%.

Dra et eple fra biblioteket på scenen, plasser den på 30, 30 og trykk Ctrl + B to ganger igjen. Trykk F8 og navnet Movie Clip "counter". Gå til dette objektet (dobbeltklikk på den) og legge til én keyframe. I denne keyframe fylle eple med en blå farge (dette eple vil bli vist i skranken hvis du går glipp av hullet)

Gå til handlinger panel av hver keyframe (F9) og skriv:.
Stoppe ();

Gå til hovedscenen, opprette fem forekomster av eple, igjen danner en linje. Hver Apple vil ha en forekomst navn ("a1", "A2", "a3" osv)



Trinn 19:. Forberedelse til programmering

Så her er vi er. Tegningen delen er over. Ta et stykke papir og notere koordinatene til hode, armer, kropp, stick, eple, bakke og flagg, slik at vi kan legge dem dynamisk.

Nå kan du slette dem fra scenen.
< p> Her er en rask nedbrytning av hvordan vi skal nærme seg realisering:

Trinn 20 Feste og posisjonering gjenstander
Alle objekter er tilstrekkelig festet og plassert på scene.

Trinn 21 Counter
Counter.

Trinn 22 Programmere Stick
Making the stick rotere. Anmeldelser
Trinn 23 Programmering Apple
Eple beveger seg når pinnen treffer den.

Trinn 24 Hit
Hvis Apples nær nok, det faller ned i hullet.

Trinn 25 Programmering en Counter
Hvis det var en vellykket hit, legger telleren en.

Trinn 26 Opprette Neste Prøv Bruke Timer Object
Når forsøket er over, vi kan prøve igjen etter to sekunder.

Trinn 27 Legge Tekstmeldinger
Vi legger noen meldinger for spilleren.

Trinn 28 Game Over
Hvis spillet er ferdig, kan vi spille igjen.



Trinn 20 : Feste og plassere objekter

Alle de programmering er plassert i den første rammen i handlinger laget. Så la oss lage et nytt lag og gi den navnet "tiltak". For det første, vil vi legge til tre blokker med kommentarer til vår kode:
//Variabler //EventListeners //funksjoner

Når kommentarene er klar vi kan legge til følgende kode som vil knytte våre gjenstander fra biblioteket til scenen .

(Ekstra linjer 2-8, 13-23)
//Variablesvar myHead = new hodet (); Var myArms = nye armer (); Var myBody = ny kropp (); Var Mystick = ny stokk (); Var myGround = ny mark (); Var myFlag = new flagg (); Var myApple = new apple (); //EventListeners //Functionsfunction resetScene (): void {addChild (myHead); addChild (myArms); addChild (myBody); addChild (Mystick); addChild (myGround); addChild (myFlag); addChild (myApple); } ResetScene ();

Nå har vi alle våre objekter på scenen på koordinatene 0 er 0. Objekter festet på scenen hver gang resetScene funksjonen kalles. La oss se tilbake til vår stykke papir hvor vi noterte koordinatene. Vi vil også bruke en tilfeldig funksjon for å generere x posisjonen vår hullet og flagget

(Ekstra linjer 9, 22-39)
//Variablesvar myHead = ny leder ();. Var myArms = nye armer (); Var myBody = ny kropp (); Var Mystick = ny pinne (); Var myGround = ny mark (); Var myFlag = new flagg (); Var myApple = new apple (); Var grassMask: Number; //EventListeners //Functionsfunction resetScene (): void {addChild (myBody); addChild (myArms); addChild (myHead); addChild (Mystick); addChild (myGround); addChild (myFlag); addChild (myApple); grassMask = (320 + Math.random () * 260); myBody.x = 70; myBody.y = 296; myArms.x = 68; myArms.y = 276; myArms.rotation = 0; myHead.x = 70; myHead.y = 215; myStick.x = 68; myStick.y = 276; myStick.rotation = 0; myApple.x = 90; myApple.y = 331; myGround.x = 0; myGround.y = 375; myGround.grassMask.x = grassMask - 610; myFlag.x = grassMask; myFlag.y = 375; } ResetScene ();

* grassMask: variable beskrivelse

    Vår fasen er 600px lang

    Math.random funksjonen genererer tall fra 0 til 1.

    Hvis vi multipliserer denne verdien med 260 får vi et tall mellom 0 og 260.

    Hvis vi da legge 320 til dette resultatet, vil vi få området vi er ute etter: 320 til 580. Dette er regionen langs x-aksen der vi kan plassere våre hull og flagg



    Trinn 21:. Counter

    Alle gjenstander bør plasseres riktig og vår maske og flagg bør være på et vilkårlig stilling x. Legg til følgende linjer under resetScene funksjonen. Det vil skjule epler for å telle våre scorer

    (Ekstra linjer 6-15)
    ... resetScene (); funksjons invisibleApples (). Void {a1.visible = false; a2.visible = false; a3.visible = false; a4.visible = false; a5.visible = false; a6.visible = false; } InvisibleApples ();



    Trinn 22: Programmere Stick

    Nå vil vi legge lyttere for våre tastatur. Hvis vi trykker på en tast, vil onDown funksjonen kalles. Hvis vi da slipper en vilkårlig tast, vil onUp funksjonen kalles. Vi må også legge til et skriv ramme lytteren

    Prinsippet er veldig enkelt.; Hvis du trykker på en tast, vil den variable kontrolløren inneholde verdien 1. Hvis du slipper knappen, vil den variable kontrolløren inneholde en verdi på 0. Hit-funksjonen, som dukker opp i hver ramme av vårt program (30 ganger per sekund i vårt tilfelle) vil fungere sammen disse verdiene (bekreftende eller negativ rotasjon). Variabler hastighetsøkning og speedDown er bare tall som forteller oss hvor stor rotasjon vil bli. Variabler minPower og maxPower fortelle oss minimum og maksimal grad av stick rotasjon. Skriv inn følgende linjer:

    (Ekstra linjer 12,13,18-37)
    //EventListenersstage.addEventListener(KeyboardEvent.KEY_DOWN, onDown); stage.addEventListener (KeyboardEvent.KEY_UP, onUp); scenen. addEventListener (Event.ENTER_FRAME, traff); //Funksjoner ... myFlag.x = grassMask; myFlag.y = 375; kontrolløren = 0; minPower = 0; } ResetScene (); funksjon onDown (e: KeyboardEvent): void {kontrolløren = 1; minPower = -20; } Funksjon onUp (e: KeyboardEvent): void {kontrolløren = 0; } Funksjon hit (e: Hendelses): void {if ((kontrolløren == 1) & & (myStick.rotation < maxPower)) {myStick.rotation + = speedup; myArms.rotation + = speedup; } Else {if (myStick.rotation > minPower) {myStick.rotation - = speedDown; myArms.rotation - = speedDown; }}}

    Vi bruker noen nye variabler i koden, så vi må initialisere dem. Legg til følgende linjer til toppen. Variabler kontrolløren og minPower er deklarert i resetScene funksjon fordi de vil bli endret i løpet av programmet, og vi trenger å tilbakestille dem senere.

    (Ekstra linjer 7-17)
    //variabler ... Var myApple = new apple (); Var grassMask: Number; Var Speedup: int = 2; Var speedDown: int = Speedup * 8; Var kontrolløren: int; Var minPower: int; Var maxPower: int = 110;



    Trinn 23: Programmere en Apple

    Vi vil bruke metoden hitTestObject å hente informasjon om kollisjonen mellom vår pinne og eple. Hvis en kollisjon skjer, vil skuddet funksjonen kalles

    (Ekstra linjer 7,8,16,30-32,36-40)
    //Variables...var minPower. Int; Div maxPower: int = 110; Var styrke: Number; Var applePower: Number; //funksjoner ... funksjon onUp (e: KeyboardEvent): void {kontrolløren = 0; applePower = (myApple.x + myStick.rotation) * 3.2; } ... Funksjon hit (e: Hendelses): void {if ((kontrolløren == 1) & & (myStick.rotation < maxPower)) {myStick.rotation + = speedup; myArms.rotation + = speedup; } Else {if (myStick.rotation > minPower) {myStick.rotation - = speedDown; myArms.rotation - = speedDown; } If (myStick.hitTestObject (myApple)) {stage.addEventListener (Event.ENTER_FRAME, shot); }}} Funksjon shot (e: Hendelses): void {styrke = (applePower - myApple.x); myApple.x + = styrke /30; myApple.rotation + = styrke /4; }



    Trinn 24: Hit

    Shooting skal fungere. La oss nå kode et eple falle inn i hullet. Vi skal teste i vår bildefunksjonen om avstanden fra hullet er lite nok og styrken er lav nok. Skulle dette være tilfelle, kan vi spille vår klippet der et eple faller ned i hullet. Mine regler (tallverdier) er svært strenge. Du kan definere dine egne lysere reglene hvis du foretrekker

    (Ekstra linjer 17,27-34,37,38)
    //Variables...var styrke. Nummer, Div applePower: Number; Div avstand: Number; Var målet: int; //Functionsfunction resetScene (): void {... kontrolløren = 0; minPower = 0; target = 0; } ResetScene (); ... funksjon shot (e: Hendelses): void {styrke = (applePower - myApple.x); avstand = grassMask - myApple.x; if ((Math.round (avstand) < = 10) & & (Math.round (avstand) > = 3) & & (styrke < = 65)) {if (target == 0) {myApple.appleFall.play (); myApple.rotation = 0; target = 1; }} Else {if (styrke > 5) {myApple.x + = styrke /30; myApple.rotation + = styrke /4; }}}

    Her er en oversikt over hvordan skuddet funksjonen virkelig fungerer. Det er veldig enkelt. Vi vil legge til noen linjer til det senere, men dette er kjernen.

    Shot-funksjon ordningen

    Sett styrke variabel

    Sett avstand variabel

    Hvis avstand og styrke er lav og målet har ennå ikke blitt truffet

    Spill klipp med eple falle i hullet

    Sett eple rotasjon til null

    Fortell våre variable at målet ble truffet

    Hvis avstand og styrke er ikke sammen med våre verdier og hvis styrke er likevel stor nok - lavere enn 5 og eple slutter å bevege seg

    Apple holder som beveger seg langs x-aksen

    Apple holder roterende



    Trinn 25: Programmering av Counter

    Nå skal vi lage en poengsum teller. For det første må vi klargjøre en ny variabel kalt tryShot; det teller forsøkene vi har gjenværende ved å øke en hver gang den resetScene funcion kalles. Hvis vi treffer hullet et eple vil vises. Hvis vi savner hullet et eple vil også dukke opp, men det vil hoppe til den andre rammen av klippet (som viser en blå eple).

    (Ekstra linjer 6,7,15,16,31,37- 40)
    //Variables...var distanse: Antall; Var målet: int; Var tryShot: int = 0; //Functionsfunction resetScene (): void {... minPower = 3; target = 0; tryShot ++; } ResetScene (); ... funksjon shot (e: Hendelses): void {styrke = (applePower - myApple.x); avstand = grassMask - myApple.x; if ((Math.round (avstand) < = 10) & & (Math.round (avstand) > = 3) & & (styrke < = 65)) {if (target == 0) {myApple.appleFall.play (); myApple.rotation = 0; target = 1; dette ["a" + tryShot] .visible = true; }} Else {if (styrke > 5) {myApple.x + = styrke /30; myApple.rotation + = styrke /4; } Else {denne ["a" + tryShot] .visible = true; denne ["a" + tryShot] .gotoAndStop (2); }}}



    Trinn 26: Lage forsøker du med Timer Objekt

    Legg til følgende linjer i koden. De vil sørge for at nedtellingen funksjonen (som tilbakestiller scene og fjerner lytteren for skuddet funksjon) vil bli kalt to sekunder etter at et gitt skutt er over (det doesnt rolle om hullet var eller wasn't hit). Vi må også legge til en betingelse for vår hit funksjon som begrenser antall forsøk til seks.

    (Ekstra linjer 7,13,22,30,44,55,64,69-72) Anmeldelser //Variables...var target: int; Var tryShot: int = 0; Var myTimer = new Timer (2000, 1); //EventListenersstage.addEventListener (KeyboardEvent.KEY_DOWN, onDown); stage.addEventListener (KeyboardEvent.KEY_UP, onUp); stage.addEventListener (Event.ENTER_FRAME, traff), myTimer.addEventListener (TimerEvent.TIMER, nedtelling); //Functionsfunction resetScene (): void {; ... Target = 0; tryShot ++; myApple.appleFall.gotoAndStop (1); } ResetScene (); ... funksjon hit (e: Hendelses): void {if (tryShot < 7) {if ((kontrolløren == 1) & & (myStick.rotation < maxPower)) {Mystick. rotasjon + = speedup; myArms.rotation + = speedup; } Else {if (myStick.rotation > minPower) {myStick.rotation - = speedDown; myArms.rotation - = speedDown; } If (myStick.hitTestObject (myApple)) {stage.addEventListener (Event.ENTER_FRAME, shot); }}}} Funksjon shot (e: Hendelses): void {styrke = (applePower - myApple.x); avstand = grassMask - myApple.x; if ((Math.round (avstand) < = 10) & & (Math.round (avstand) > = 3) & & (styrke < = 65)) {if (target == 0) {myApple.appleFall.play (); myApple.rotation = 0; target = 1; dette ["a" + tryShot] .visible = true; myTimer.start (); }} Else {if (styrke > 5) {myApple.x + = styrke /30; myApple.rotation + = styrke /4; } Else {denne ["a" + tryShot] .visible = true; denne ["a" + tryShot] .gotoAndStop (2); myTimer.start (); }}} Funksjon nedtelling (e: Timerevent): void {resetScene (); stage.removeEventListener (Event.ENTER_FRAME, shot); }



    Trinn 27:. Legge Tekstmeldinger

    Nå skal vi lage noen tekstmeldinger, for å la spilleren vet hva som skjer

    (Ekstra linjer 8 29-31,43,53)
    //Functionsfunction resetScene (): void {... tryShot ++; myApple.appleFall.gotoAndStop (1); myMessage.text = "Trykk en tast!"; } ResetScene (); ... funksjon hit (e: Hendelses): void {if (tryShot < 7) {if ((kontrolløren == 1) & & (myStick.rotation < maxPower)) {Mystick. rotasjon + = speedup; myArms.rotation + = speedup; } Else {if (myStick.rotation > minPower) {myStick.rotation - = speedDown; myArms.rotation - = speedDown; } If (myStick.hitTestObject (myApple)) {stage.addEventListener (Event.ENTER_FRAME, shot); }}} Else {myMessage.text = "Game Over"; }} Funksjon shot (e: Hendelses): void {styrke = (applePower - myApple.x); avstand = grassMask - myApple.x; if ((Math.round (avstand) < = 10) & & (Math.round (avstand) > = 3) & & (styrke < = 65)) {if (target == 0) {myApple.appleFall.play (); myApple.rotation = 0; target = 1; dette ["a" + tryShot] .visible = true; myMessage.text = "cooool!"; myTimer.start (); }} Else {if (styrke > 5) {myApple.x + = styrke /30; myApple.rotation + = styrke /4; } Else {denne ["a" + tryShot] .visible = true; denne ["a" + tryShot] .gotoAndStop (2); myMessage.text = "Bad Luck!"; myTimer.start (); }}}



    Trinn 28: Game Over

    Som vi har bygget en slik nydelig spill, det er en god sjanse for at vår spiller vil ønske å spille igjen :-) så la oss gjøre det mulig. Hvis spilleren har seks forsøk (blokken koden der vi skriver "Game Over") vi bør legge til en endelig lytter til vår scene. Det er en mus lytter og kaller en funksjon hvis du klikker hvor som helst

    (Ekstra linjer 12-17,37,38,42,47)
    //Functions...function invisibleApples (). Void { a1.visible = false; a2.visible = false; a3.visible = false; a4.visible = false; a5.visible = false; a6.visible = false; a1.gotoAndStop (1); a2.gotoAndStop (1); a3.gotoAndStop (1); a4.gotoAndStop (1); a5.gotoAndStop (1); a6.gotoAndStop (1); } ... Funksjon hit (e: Hendelses): void {if (tryShot < 7) {if ((kontrolløren == 1) & & (myStick.rotation < maxPower)) {myStick.rotation + = speedup; myArms.rotation + = speedup; } Else {if (myStick.rotation > minPower) {myStick.rotation - = speedDown; myArms.rotation - = speedDown; } If (myStick.hitTestObject (myApple)) {stage.addEventListener (Event.ENTER_FRAME, shot); }}} Else {myMessage.text = "Game Over \\ nKlikk å spille igjen"; stage.addEventListener (MouseEvent.MOUSE_DOWN, playAgain); }} Funksjon playAgain (e: MouseEvent): void {resetScene (); invisibleApples (); tryShot = 1; stage.removeEventListener (MouseEvent.MOUSE_DOWN, playAgain); }
    Final Kode
    //Variablesvar myHead = ny leder (); Var myArms = nye våpen (); Var myBody = ny kropp (); Var Mystick = new stick (); Var myGround = ny mark (); Var myFlag = new flagg (); Var myApple = new apple (); Var grassMask: Number; Var Speedup: int = 2; Var speedDown: int = Speedup * 8; Var kontrolløren: int; Var minPower: int; Var maxPower : int = 110; Var styrke: Number; Var applePower: Number; Var distanse: Antall; Var målet: int; Var tryShot: int = 0; Var myTimer = new Timer (2000, 1); //EventListenersstage.addEventListener (KeyboardEvent .KEY_DOWN, onDown); stage.addEventListener (KeyboardEvent.KEY_UP, onUp); stage.addEventListener (Event.ENTER_FRAME, traff), myTimer.addEventListener (TimerEvent.TIMER, nedtelling); //Functionsfunction resetScene (): void {addChild ( kroppen min); addChild (myArms); addChild (myHead); addChild (Mystick); addChild (myGround); addChild (myFlag); addChild (myApple); grassMask = (320 + Math.random () * 260); myBody.x = 70; myBody.y = 296; myArms.x = 68; myArms.y = 276; myArms.rotation = 0; myHead.x = 70; myHead.y = 215; myStick.x = 68; myStick.y = 276; myStick.rotation = 0; myApple.x = 90; myApple.y = 331; myGround.x = 0; myGround.y = 375; myGround.grassMask.x = grassMask - 610; myFlag.x = grassMask; myFlag.y = 375; kontrolløren = 0; minPower = 0; target = 0; tryShot ++; myApple.appleFall.gotoAndStop (1); myMessage.text = "Trykk en tast!"; } ResetScene (); funksjons invisibleApples (): void {a1.visible = false; a2.visible = false; a3.visible = false; a4.visible = false; a5.visible = false; a6.visible = false; a1.gotoAndStop (1); a2.gotoAndStop (1); a3.gotoAndStop (1); a4.gotoAndStop (1); a5.gotoAndStop (1); a6.gotoAndStop (1); } InvisibleApples (); funksjon onDown (e: KeyboardEvent): void {kontrolløren = 1; minPower = -20; } Funksjon onUp (e: KeyboardEvent): void {kontrolløren = 0; applePower = (myApple.x + myStick.rotation) * 3.2; } Funksjon hit (e: Hendelses): void {if (tryShot < 7) {if ((kontrolløren == 1) & & (myStick.rotation < maxPower)) {myStick.rotation + = speedup; myArms.rotation + = speedup; } Else {if (myStick.rotation > minPower) {myStick.rotation - = speedDown; myArms.rotation - = speedDown; } If (myStick.hitTestObject (myApple)) {stage.addEventListener (Event.ENTER_FRAME, shot); }}} Else {myMessage.text = "Game Over \\ nKlikk å spille igjen"; stage.addEventListener (MouseEvent.MOUSE_DOWN, playAgain); }} Funksjon playAgain (e: MouseEvent): void {resetScene (); invisibleApples (); tryShot = 1; stage.removeEventListener (MouseEvent.MOUSE_DOWN, playAgain); } Funksjon shot (e: Hendelses): void {styrke = (applePower - myApple.x); avstand = grassMask - myApple.x; if ((Math.round (avstand) < = 10) & & (Math.round (avstand) > = 3) & & (styrke < = 65)) {if (target == 0) {myApple.appleFall.play (); myApple.rotation = 0; target = 1; dette ["a" + tryShot] .visible = true; myMessage.text = "cooool!"; myTimer.start (); }} Else {if (styrke > 5) {myApple.x + = styrke /30; myApple.rotation + = styrke /4; } Else {denne ["a" + tryShot] .visible = true; denne ["a" + tryShot] .gotoAndStop (2); myMessage.text = "Bad Luck!"; myTimer.start (); }}} Funksjon nedtelling (e: Timerevent): void {resetScene (); stage.removeEventListener (Event.ENTER_FRAME, shot); }
    Konklusjon

    Ganske enkelt wasn't det? Nå kan du lure rundt med alle slags ting; du kan legge til andre nivåer, terreng, kan du endre karakter, legge cheats inn i spillet, legge til en spillmenyen eller intro og så videre. Det finnes ubegrensede muligheter, så jeg håper du fant det nyttig og takk for lesing!