Hjem Personlig finansiering Hvordan man opretter brugerinteraktion i dit HTML5-spil - dummies

Hvordan man opretter brugerinteraktion i dit HTML5-spil - dummies

Indholdsfortegnelse:

Video: Android Developer Story: Outfit7 — Building an entertainment company with Google 2024

Video: Android Developer Story: Outfit7 — Building an entertainment company with Google 2024
Anonim

Den største forskel mellem et HTML5-spil og en animation er brugerinteraktion. Hvis du vil gøre det til et spil, skal du bruge brugeren til at blive involveret. Og her er hvordan man gør det.

Her er koden:

bil. html var scene; var bil; funktion init () {scene = ny scene (); bil = ny Sprite (scene, "bil. png", 50, 30); bil. setAngle (270); bil. setSpeed ​​(0); scene. start ();} // end init funktion opdatering () {scene. klar(); // tasterne hvis (keysDown [K_LEFT]) { bil. changeAngleBy (-5); } // ende hvis hvis (keysDown [K_RIGHT]) { bil. changeAngleBy (5); } // ende hvis hvis (keysDown [K_UP]) { bil. changeSpeedBy (1); } // ende hvis hvis (keysDown [K_DOWN]) { bil. changeSpeedBy (-1); } // ende hvis bil. opdatering ();} // slut opdatering

Kør bilen!

Sådan bruger du tastaturet til dit spil

På en eller anden måde skal brugeren interagere med siden. Tastaturet er et af de nemmeste inputelementer, der skal bruges. simpleGame giver et par måder at kontrollere tastaturet på, men den mest kraftfulde teknik bruger en særlig variabel kaldet keysDown. Sådan fungerer det:

  • keysDown er et globalt array. Denne variabel oprettes automatisk, når du bygger en scene. Det er en række boolske værdier - det betyder, at hvert element kun kan være sandt eller kun falsk.

  • Der er en konstant defineret for hver nøgle. Hver tast på standardtastaturet har en speciel konstant, der allerede er defineret. For eksempel repræsenterer K_A A-tasten, og K_B repræsenterer B-tasten.

  • keysDown fortæller status for hver nøgle. Hvis A-tasten for øjeblikket trykkes, vil tasterne Ned [A] indeholde værdien ægte. Hvis A-tasten ikke trykkes, vil tasterne Ned [A] indeholde værdien falsk.

  • Du kan bestemme den aktuelle status for en nøgle. Bare tjek tasterneDown [] array for at bestemme den aktuelle status for en hvilken som helst tast.

  • Du kan have flere nøgler nede på én gang. Det primære formål med denne teknik er at tillade, at flere taster trykkes på en gang. Ved normal beregning er det usædvanligt at have mere end en nøgle ad gangen. I spil er det meget almindeligt at trykke mere end en nøgle ad gangen, så du har brug for en mekanisme, som kan understøtte denne forventning.

Sådan flytter du spillets sprite

I hovedsagen har en sprite en position, som styres af X- og Y-egenskaber. Hvis du husker fra matematikklasse, repræsenterer X vandrette værdier, og Y er for lodret placering. Oprindelse (0, 0) er øverste venstre hjørne af skærmen.

X koordinater fungerer ligesom du husker fra matematik klasse. Når X-værdierne bliver større, bevæger sprite sig til højre. I computergrafik virker Y lidt anderledes end den gjorde i matematik klasse.De fleste viser hardware scanning fra top til bund, så Y er 0 øverst på skærmen og øges, mens du bevæger dig nedad.

Bemærk, at den maksimale højde og bredde er gemt i variabler: scene. højde og scene. bredde.

Alle de forskellige bevægelsesmetoder handler om at manipulere X og Y. Du kan indstille disse værdier manuelt (setPosition (), setX () og setY ()), eller du kan ændre værdierne (changeXby (), changeYby ()). Hver af disse metoder virker øjeblikkeligt, så du kan bruge dem til at styre spritets position eller bevægelse.

Nogle af disse funktioner ligner hinanden. For eksempel ser changeXby () meget ud som setChangeX (). Disse funktioner har en subtil men vigtig forskel. Funktionen changeXby () ændrer værdien af ​​X en gang. Hvis du vil have ændringen til at fortsætte, skal du fortsætte med at ringe til denne funktion.

Funktionen setChangeX () er mere kraftfuld, fordi du kan kalde den en gang, og det ændrer gentagne gange x med den værdi, du bestemmer, indtil du kalder setChangeX () igen.

For de fleste sprites, vil du virkelig bare give sprite en vinkel og en hastighed, og lad det gå. Sprite-objektet har præcis de metoder, du har brug for til denne adfærd. setAngle () giver dig mulighed for at bestemme hvilken retning sprite vil gå, og setSpeed ​​() lader dig angive hastigheden til at gå i den retning. Ligesom de fleste bevægelsesfunktioner er der også ChangeAngle () og ChangeSpeed ​​() metoder.

Sådan styres bilen i dit spil

Nøglerne Nedadgående mekanisme kan kombineres med bevægelsesmetoderne, så du nemt kan styre din bil. Her er den relevante kode fra opdatering () igen:

funktionsopdatering () {scene. klar(); // tasterne hvis (keysDown [K_LEFT]) { bil. changeAngleBy (-5); } // ende hvis hvis (keysDown [K_RIGHT]) { bil. changeAngleBy (5); } // ende hvis hvis (keysDown [K_UP]) { bil. changeSpeedBy (1); } // ende hvis hvis (keysDown [K_DOWN]) { bil. changeSpeedBy (-1); } // ende hvis bil. opdatering ();} // end opdatering

Den egentlige kodning er ret let at forstå:

  1. Ryd scenen.

    Som sædvanlig er den første rækkefølge i virksomheden i opdateringen () -funktionen at rydde op i lekrummet. Sørg for at du har slettet den forrige ramme, før du gør noget andet.

  2. Check for en venstre-pil-tryk.

    Brug tasterneDown-mekanismen til at bestemme, om venstre pil trykkes for øjeblikket.

  3. Hvis venstre pil trykkes, drejes bilen tilbage.

    Hvis brugeren for øjeblikket trykker på venstre piletast, drejer bilen fem grader mod uret. Brug metoden changeAngleBy () til at ændre bilens visuelle udseende såvel som den retning, den rejser.

  4. Gentag for højre pil.

    Højrepilen er den samme, men denne gang drejer bilen fem grader med uret.

  5. Brug op-pilen til at accelerere.

    Hvis brugeren trykker på pil op, skal du ændre bilens hastighed. Brug en positiv værdi til at accelerere bilen. Det vil ikke tage meget, fordi denne kode kontrolleres 20 gange i sekundet.

  6. Sæt bilen ned med nedpilen.

    Brug en lignende mekanisme til nedpilen.Skift hastigheden med en negativ værdi for at bremse bilen. Denne tilgang giver mulighed for negative værdier, og bilen vil sikkerhedskopiere, hvis du vil.

  7. Træk bilen i sin nye position.

    Det er kritisk vigtigt at huske at kalde spritens bevægelsesfunktioner ændrer ikke bilens placering! Det ændrer kun interne data i spilets hukommelse. Du skal kalde bilens opdatering () -metode for at se disse ændringer i handling.

Hvordan man opretter brugerinteraktion i dit HTML5-spil - dummies

Valg af editor

Hvornår man bruger If-erklæringen til at programmere HTML med JavaScript-dummier

Hvornår man bruger If-erklæringen til at programmere HTML med JavaScript-dummier

Kan virkelig ikke undslippe ved hjælp af if-sætningen med JavaScript. If-erklæringen bruges almindeligvis til at teste om der er sket noget eller ikke, om dataene er inden for rækkevidde eller ej, eller om brugeren ønsker at udføre en bestemt opgave. Sådan oprettes en simpel hvis erklæring i JavaScript En af de mest ...

Før du opretter din første webside - dummier

Før du opretter din første webside - dummier

Oprettelse af HTML-dokumenter adskiller sig fra at skabe tekstbehandlingsdokumenter ved hjælp af en applikation som Microsoft Word. Forskellen kommer fra at bruge to applikationer med oprettelse af HTML-dokument: Din tekst eller HTML-editor, hvor du opretter websider Din webbrowser, hvor du ser resultaterne Selvom mange HTML-redaktører, som f.eks.

Kode Filer til HTML5 og CSS3 - dummies

Kode Filer til HTML5 og CSS3 - dummies

HTML og CSS er de grundlæggende byggesten på websites. Adventen af ​​HTML5 og CSS3 repræsenterer et dynamisk og kraftfuldt evolutionært stadium i udviklingen af ​​webdesign. Maksimering af potentialet i HTML5 og CSS3 gør det muligt at anvende styling og formatering, præsentere lyd og video og skabe animation og interaktivitet på måder ...

Valg af editor

Information Der er en kommandoudgang på basis af en Vis Interface Command i Junos - dummies

Information Der er en kommandoudgang på basis af en Vis Interface Command i Junos - dummies

. Lidt information. Udover de grundlæggende op- eller nedstatusoplysninger indeholder kommandoen Vis grænseflader disse velsmagende informative nuggets: CoS køer: Dette er det samlede antal CoS-køer konfigureret til det pågældende interfacekort. Hvis du har konfigureret otte køer, viser den en værdi ...

Sådan ses Junos Syslog Messages - dummies

Sådan ses Junos Syslog Messages - dummies

I standard syslog-konfigurationen på Junos router, gemmes logfiler til en fil kaldet meddelelser, som ligger i standard logfil-mappen. På M-, MX- og T-seriens routere er standardlogfilmappen / var / log /. På J-seriens routere er det / cf / var / log /. Du kan se filen fra enheden med denne kommando: ...

Eneband Dokumenter til at hjælpe med at planlægge og implementere dit netværk - dummier

Eneband Dokumenter til at hjælpe med at planlægge og implementere dit netværk - dummier

Når det er tid til at deployere dine Junos baserede enheder, kan du måske vide, hvilke ressourcer og værktøjer der er tilgængelige for at lette din migration. Heldigvis har du som kunde hos Juniper Networks adgang til forskellige dokumenter, der kan hjælpe dig med at planlægge og implementere dit nye netværk: Eksempler på netværkskonfiguration: Giv komplekse eksempler på flere platformskonfigurationer ...

Valg af editor

Office 2010 Alt-i-One til Dummies Cheat Sheet - dummies

Office 2010 Alt-i-One til Dummies Cheat Sheet - dummies

Programmerne i Office 2010 suite - Word 2010, Excel 2010, PowerPoint 2010, Outlook 2010, Adgang 2010 og Publisher 2010 - har meget til fælles. Master kommandoerne i et Office 2010-program, og du er godt på vej til at mestre de andre programmer. Følgende er vigtige oplysninger, du kan tage til enhver ...

Office 365 For Dummies Cheat Sheet - dummies

Office 365 For Dummies Cheat Sheet - dummies

Som med enhver virksomheds software omfatter mange forskellige dele og stykker den simple navnet på Office 365. At få et håndtag på alle de bevægelige stykker og jargon kan være en udfordrende opgave. Denne vejledning giver dig en hurtig reference til de produkter, teknologier, koncepter og akronymer, der udgør Office 365-landskabet.

Office 365 Grupper - dummies

Office 365 Grupper - dummies

Du kan bruge Office 365 Grupper, eller blot Grupper, til hurtigt at binde sammen med kolleger til samarbejde uden administrationsansvar, der følger med et SharePoint-websted. Grupper er ikke en del af SharePoint Online. Det er faktisk en funktion i Exchange Online, men det bruger SharePoint Online-funktioner, såsom OneDrive for Business til lagring af gruppefiler ...