Hjem Personlig finansiering Sådan kontrolleres grænser i dit HTML5-spil - dummies

Sådan kontrolleres grænser i dit HTML5-spil - dummies

Video: LIBGDX para Android - Tutorial 19 - Detectar Colisiones - How to make games Android 2024

Video: LIBGDX para Android - Tutorial 19 - Detectar Colisiones - How to make games Android 2024
Anonim

Når sprites begynder at flytte, er der altid mulighed for, at de vil forlade skærmens grænser. Typisk svarer HTML5-spiludviklere på en af ​​fem måder: Indpakning, afvisning, stop, dø eller fortsæt. SimpleGame-biblioteket har en grænsekontrolrutine, der giver dig mulighed for at angive, hvilken af ​​disse standardadfærd der skal bruges. Sprite's boundAction-egenskab angiver, hvilken handling der skal anvendes. Du kan bruge grænsekontrolleren til at gøre følgende:

  1. Bestem grænserne.

    Grænserne bestemmes af lærredbredden.

  2. Kontroller, om brugeren er slukket for en grænse.

    Så blev der foretaget en anden række variabler, der indeholder boolske værdier, der angiver, om sprite er slukket fra en af ​​grænserne: OffRight, offLeft, offTop og offBottom. Brug grundlæggende hvis-sætninger til at bestemme, om sprite er slukket på skærmen på en af ​​disse måder.

  3. Bestem grænsevirkningen.

    Brug en simpel if-sætning til at bestemme hvilken grænsehandling der for øjeblikket er indstillet til sprite.

  4. Hvis boundAction er WRAP:

    Skift x eller y-variablen til den modsatte side, men lad dx og dy-værdierne være alene.

  5. Hvis boundAction er BOUNCE:

    Inverter dy, hvis spriteen hoppede ud øverst eller nederst, og dx, hvis spriteen skubbede ud til venstre eller højre. Det er ikke nødvendigt at ændre x eller y direkte.

  6. Hvis boundAction er STOP:

    Indstil hastigheden til nul, uanset hvilken grænse der blev afbrudt.

  7. Hvis boundAction er DIE:

    Indstil hastigheden til nul og aktiver spriteens hide () -metode. Dette vil medføre, at sprite forsvinder og ikke længere overvejes i kollisionsberegninger.

  8. Enhver anden grænse betragtes som FORTSAT.

    Her er der ingen handlinger, fordi sprite vil fortsætte med at bevæge sig selvom det ikke er synligt. Hvis dette er den ønskede effekt, skal du på en eller anden måde angive brugeren, hvor sprite er, eller give en måde til, at sprite vender tilbage.

Her er en del af koden til kollisionskontrolrutinen:

offRight = false; offLeft = false; offTop = false; offBottom = false; hvis (denne. x> rightBorder) {offRight = true;} hvis (denne. x bottomBorder) {offBottom = true;} hvis (denne. y <0) {offTop = true;} hvis (denne. boundAction == WRAP) {if (offRight) {this. x = leftBorder;} // ende hvis hvis (offBottom) {this. y = topBorder;} // ende hvis hvis (offLeft) {this. x = rightBorder;} // ende hvis hvis (offTop) {this. y = bottomBorder;}} ellers hvis (denne. boundAction == BOUNCE) {hvis (offTop || offBottom) {this.dy * = -1; det her. calcSpeedAngle (); det her. imgAngle = dette. moveAngle;} hvis (offLeft || offRight) {this. dx * = -1; det her. calcSpeedAngle (); det her. imgAngle = dette. moveAngle;}} ellers hvis (denne. boundAction == STOP) {hvis (offLeft || offRight || offTop || offBottom) {this. setSpeed ​​(0);}} ellers hvis (denne. boundAction == DIE) {hvis (offLeft || offRight || offTop || offBottom) {this. skjule(); det her. setSpeed ​​(0);}} ellers {// fortsæt for evigt}} // end checkbounds

Hvis du vil ændre en sprite grænsehandling i simpleGame, kan du bruge metoden setBoundAction () til at gøre det.

Bemærk, at nogle situationer kan kræve forskellige adfærd. For eksempel kan du ønsker at pakke rundt om siderne, men stop øverst eller nederst. Hvis du har brug for en mere specifik adfærd, skal du bare bygge en ny checkBounds () metode til din sprite. Du skal dog kontrollere alle grænser, fordi din nye checkBounds () vil overskrive den, der er indbygget i simpleGame.

Sådan kontrolleres grænser 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 ...