Quick Tips: Lag en enkel Points System Bruke AS3

Quick Tips: Lag en enkel Points System Bruke AS3
Del
Del
en
Del

Dette Cyber ​​mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

I denne hurtig Tips du vil lære å lage et enkelt poengsystem som kan utvides til dine egne spill. Denne opplæringen er for nybegynnere, og i det du vil lære å lage et sett med knapper som spilleren kan klikke på for å legge til eller trekke poeng til eller fra sin poengsum. Simple!

Selv om denne opplæringen er for nybegynnere til Flash programmering, må du vite litt om bruk av tegneverktøy i Flash Professional. Hvis du trenger å lære å bruke tegneverktøy, les denne artikkelen



Endelig resultat Forhåndsvisning

La oss ta en titt på det endelige resultatet vi skal jobbe mot.



Trinn 1: Klargjøre Flash File

Åpne opp Flash og opprette en ny Flash-dokument. Sett Dokumentstørrelse til 550x400px, FPS (frames per sekund) til 24 og sette dokumentet klassen til Main.



Trinn 2:. Opprette Grafikk
Dette er grafikken du trenger for å lage

For å lage grafikk, bruker Oval Tool til å opprette fire sirkler med en # 000000 (svart) disposisjon og et slag størrelse på 12,50.

Hver sirkel bør ha en annen fyllfarge. Fyllfargene er som følger:

10 Coin: # 993300

50 Coin: # 999999

100 Coin: # FFCC00

- 30 Coin: # 990000

Etter å ha laget myntene, bruker statiske tekstbokser til å skrive sine respektive verdier som angitt i bildet ovenfor. Skriften Jeg skal bruke hele denne opplæringen er Futura LT Heavy, med en størrelse på 50, men gjerne bruke din egen skrift og skriftstørrelse. Etter endt undervisning bør du ha en 10 mynt, 50 Coin, 100 mynt, og en -30 Coin.

Vi vil nå konvertere hver mynt i en MovieClip. Velg 10 Coin og trykk på F8. Du skal se en dialog som dette:
Bildet har alt fylt ut. Sørg for at du skriver ned de samme tingene i dialog ditt

Gjenta dette trinnet for 50 Coin, 100 mynt og -30 Coin og innspill følgende under navn og klasse bokser for hver mynt.

50 Coin: FiftyCoin

100 Coin: HundredCoin

-30 Coin: BadCoin

Når du har opprettet movieclips ut av alle mynter, velg alle og slette dem av scenen. Vi kommer til å legge dem tilbake igjen senere, ved hjelp av kode

For å avslutte dette trinnet oppretter en statisk tekstboks med teksten. "SCORE:" og plasser den med en X verdi på 135 og en Y verdi av 327 .



Trinn 3: Sette opp pakken og Main Class

I dette trinnet vil vi sette opp vår pakke og Main Class

Opprett en ny Actionscript. klasse og under klasse Navn typen Main. Når du har opprettet klassen, lagre den i samme mappe som Flash-fil, og sørg for at den er lagret som Main.as.
Sørg dialog ditt ser slik ut.

Skriv inn koden nedenfor inn Main.as filen, og deretter lagre det
pakken {//importerer de nødvendige klassene importere flash.display.MovieClip import flash.events.MouseEvent.; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldType; import flash.events.Event; public class Hoved strekker MovieClip {var tenCoin: TenCoin = new TenCoin (); //Oppretter en ny instans av Ten Coin Var fiftyCoin: FiftyCoin = new FiftyCoin (); //Oppretter en ny instans av Femti Coin Var hundredCoin: HundredCoin = new HundredCoin (); //Oppretter en ny instans av Hundred Coin Var badCoin: BadCoin = new BadCoin (); //Oppretter en ny instans av -30 Coin Var bedømmelsen: Antall = 0; //Setter ledelse til null Var scoreText: Textfield = new Textfield (); //Oppretter et tekstfeltet for å vise poengsum Var scoreTextFormat: tekstformat = new tekstformat ("Futura LT Heavy", 50, 0x000000); //Oppretter et nytt format for Score tekstfeltet, erstatte "Futura LT Heavy" med skriften du bruker offentlig funksjon main () {displayObjects (); //Funksjonen som vi vil bruke for å vise alle grafikken på scenen setUpEventListeners (); //Funksjonen som vi vil bruke til å legge vårt arrangement Lyttere}

Først importerer vi klassene som vi trenger, og da vi satt opp vår dokument klasse. Vi deretter forlenge hovedklasse fra MovieClip; vi kunne bruke Sprite, men det spiller egentlig ingen rolle. Etter det, erklærer vi de variablene som vi bruker, og vi legger kode til vår main () funksjon (vår "konstruktør-funksjon").

The Main () -funksjonen vil vise alle myntene vi opprettet på scenen, og det vil også legge hendelsen Lyttere at vi trenger å bruke

. Merk: Du må legge ned skriften inn FLA for å gjøre det vise i dynamiske tekstfelt hvis brukeren ikke har fonten installert. Jeg har ikke gjort dette her, å holde ting enkelt



Trinn 4:. Coding de displayObjects () Funksjon

De displayObjects () funksjonen kalles fra hoved () -funksjonen . Hensikten med denne funksjonen er å legge mynter og dundret tekstboksen til scenen og å plassere dem på deres riktig sted
funksjons displayObjects () {//Angir posisjonen til Ten Coin tenCoin.x = 72.; tenCoin.y = 200; //Angir posisjonen til Femti Coin fiftyCoin.x = 207; fiftyCoin.y = 200; //Angir posisjonen til Hundred Coin hundredCoin.x = 342; hundredCoin.y = 200; //Angir posisjonen til -Thirty Coin badCoin.x = 477; badCoin.y = 200; //Plasserer poengsum tekstboksen og setter sin type dynamisk slik at den kan endres gjennom koden scoreText.type = TextFieldType.DYNAMIC; scoreText.x = 305; scoreText.y = 327; scoreText.width = 300; //Angir formatet på stillingen lærebok scoreText.defaultTextFormat = scoreTextFormat; //Legger alt til scenen addChild (tenCoin); addChild (fiftyCoin); addChild (hundredCoin); addChild (badCoin); addChild (scoreText);}



Trinn 4: Coding de setUpEventListeners () Funksjon og arrangementet Handlers

Nå som vi har lagt objekter til scenen vi har til å skape hendelseshåndterer funksjoner som utløses når du klikker på myntene. Vi vil også trenge en updateScore () -funksjonen til å bruke, slik at resultatet blir oppdatert og holder seg ikke på samme
funksjons setUpEventListeners () {//Endrer alle våre movieclips inn Knapper tenCoin.buttonMode = sant.; fiftyCoin.buttonMode = true; hundredCoin.buttonMode = true; badCoin.buttonMode = true; //Legger hendelseslytterne til å legge poeng til stillingen tenCoin.addEventListener (MouseEvent.CLICK, addTenPoints); fiftyCoin.addEventListener (MouseEvent.CLICK, addFiftyPoints); hundredCoin.addEventListener (MouseEvent.CLICK, addHundredPoints); badCoin.addEventListener (MouseEvent.CLICK, removeThirtyPoints); //Legger oppdateringsfunksjonen for å oppdatere poengsum stage.addEventListener (Event.ENTER_FRAME, updateScore);}

Nå må vi kode funksjonene som endrer og oppdatere poengsum
funksjons addTenPoints (evt: MouseEvent). {Poengsum + = 10; //Legger 10 poeng til stillingen} funksjons addFiftyPoints (evt: MouseEvent) {poengsum + = 50; //Legger 50 poeng til stillingen} funksjons addHundredPoints (evt: MouseEvent) {poengsum + = 100; //Legger 100 poeng til stillingen} funksjons removeThirtyPoints (evt: MouseEvent) {score - = 30; //Trekker 30 poeng fra resultatet //Dette hvis setningen ikke tillater ledelse til å gå under null if (poengsum < 10) {score - = poengsum; }} Funksjon updateScore (evt: Hendelses) {scoreText.text = String (score); //Dette konverterer poengsum variabel fra et nummer til en streng, fordi vår score tekstboks kan bare vise strenger}} //Lukker klassen} //Lukker pakken

Koden er nå klar for testing. Trykk CTRL + Enter (CMD + Enter på en Mac) og se på poengsystem levende!



Omtale

Nå kan du kanskje tenke, "jeg har kastet bort tiden min , all denne opplæringen lærte meg å gjøre var å lage noen knapper som gir deg poeng når du klikker på dem "- men du har lært mer enn dette

Se på dette som et grunnlag for en mer avansert poengsystem.. Du lærte å bruke + = og - = for å legge til eller trekke fra et tall, lært deg hvordan du bruker hendelsen lyttere, du lærte å lage en funksjon for å oppdatere gjenstander mens SWF kjører, og du lærte å endre et nummer til en streng og vise den i et dynamisk tekstboks som du opprettet utelukkende gjennom koden!



Konklusjon

Dette peker system kan lett utvides til dine egne spill. For de av dere som er mer erfarne på Flash, kan du prøve å lage et spill som bruker en hitTestObject funksjon og legger poeng når du treffer et objekt.

Jeg håper du har lært noe nytt i dag. Takk for lesing!



Previous:
Next Page: