Video: LIBGDX para Android - Tutorial 16 - Actores (Elementos) - How to make games Android 2025
Egenskaber en egenskabs egenskaber i dit HTML 5-spil og metoder beskriver adfærd. En metode er en funktion, der er forbundet med et objekt. Du bygger metoder meget gerne at skabe en ejendom, men i stedet for at tilføje en simpel værdi, tildeler du en hel funktion til et navn.
For eksempel har den næste version af critter en changeSpeed () metode. Når brugeren trykker på pil op, vil critter fremskynde, og når brugeren trykker på pil ned, vil critter sænke (og i sidste ende gå i den anden retning). Her er koden til critter med sin nye metode på plads:
critterChangeSpeed. html var spil; var critter; funktion Critter () {tCritter = ny Sprite (spil, "critter.gif", 30, 30); tCritter. hastighed = 0; tCritter. checkKeys = function () { hvis (keysDown [K_RIGHT]) { dette. hastighed ++; } hvis (keysDown [K_LEFT]) { dette. fart--; } tCritter. setSpeed (denne hastighed); } // ende metode return tCritter;} funktion init () {game = new Scene (); critter = new Critter (); spil. start ();} funktionsopdatering () {spil. klar(); critter. checkKeys (); critter. opdatering ();}
Bemærk, at det bevæger sig, når brugeren trykker på tasterne. Til dette og de fleste eksempler er et statisk billede ikke nok til at hjælpe dig med at se, hvad der sker.
I denne nye version af programmet har Critter-objektet en ny opførsel identificeret. I grunden er en metode ikke mere end en funktion defineret i en klasse. Ikke panik. Det er virkelig ikke så svært at finde ud af. Du fortæller systemet, hvad du skal gøre, hvis brugeren nogensinde spørger Critter-objektet om at ændre hastigheden.
-
Opret en ny ejendom kaldet checkKeys.
I JavaScript er en ejendom og en metode nøjagtig den samme. Hvis du vedhæfter en regelmæssig variabel til et objekt, er det en egenskab. Hvis du vedhæfter en funktion til det, er det en metode. (Ejendomsnavne er normalt navneord. Metode navne er normalt verb eller verb sætninger.)
-
Byg en ny metode til at indeholde adfærd.
changeSpeed er ikke en almindelig egenskab, men en metode, så du vedhæfter en funktion til den. (For Computer Science majors derude, bygger en anonym funktion i luften som dette er et eksempel på en lambda funktion. Se efter det på midtvejseksamen!)
-
Kontroller tastaturindgangen.
Når du laver et Critter-objekt, ved det allerede, hvordan man kigger efter sine egne nøglepresser.
-
Skift hastigheden baseret på tastaturindgang.
Hvis brugeren trykker højre, øges hastigheden (i standardretningen flytter positive hastigheder spritet til højre).Hvis brugeren trykker på venstre, sænkes hastigheden.
-
Brug metoden setSpeed () til at ændre den faktiske hastighed.
Sprite-objektet, der giver planen til critter, har allerede en setSpeed () -metode. Brug denne metode til at gøre objektet flytte ved den angivne hastighed.
-
Brug dette søgeord i en metode.
Når du opretter en metode inde i en konstruktør, kan computeren blive lidt forvirret om navnene på tingene. For det meste tilføjer du ting til en midlertidig critter kaldet tCritter. For at eliminere forvirring, hvis du skal henvise til andre egenskaber eller metoder for det objekt, du ændrer, skal du bruge det generelle søgeord her i stedet for objektets faktiske navn.
-
Rediger opdateringen () -funktionen, så critter kontrollerer tastaturet.
Husk, at hovedopdateringen () -funktionen sker en gang pr. Ramme. Alt, hvad du vil ske en gang pr. Ramme, skal kaldes i opdatering (). Tilføj et opkald til critter. checkKeys (). Dette vil minde critter at kontrollere tastaturet hver ramme og ændre dens hastighed efter behov.