Hem Personliga finanser Hur man kontrollerar gränser i ditt HTML5-spel - dummies

Hur man kontrollerar gränser i ditt HTML5-spel - 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 börjar röra sig, finns det alltid möjlighet att de lämnar gränserna för skärmen. Vanligtvis svarar HTML5-spelutvecklare på ett av fem sätt: linda, studsa, stoppa, dö eller fortsätt. SimpleGame-biblioteket har en gränskontrollrutin som låter dig ange vilka av dessa standardbeteenden som ska användas. Spriteens boundAction-egenskap anger vilken åtgärd som ska användas. Du kan använda gränskontrollen för att göra följande:

  1. Bestäm gränserna.

    Gränserna bestäms av kanvasens bredd.

  2. Kontrollera om användaren är borta från en gräns.

    Därefter gjordes en annan serie variabler som innehåller booleska värden som indikerar huruvida sprite är av en av gränserna: OffRight, offLeft, offTop och offBottom. Använd grundläggande om-satser för att avgöra om sprite är borta på skärmen på något av följande sätt.

  3. Bestäm gränsverkan.

    Använd ett enkelt if-förklaring för att bestämma vilken gränshandling som för närvarande är inställd för sprite.

  4. Om boundAction är WRAP:

    Ändra x eller y-variabeln till motsatt sida, men lämna endast dx- och dy-värdena.

  5. Om boundAction är BOUNCE:

    Invertera dy om sprite studsade överst eller nedre, och dx om sprite studsade åt vänster eller höger. Det är inte nödvändigt att ändra x eller y direkt.

  6. Om boundAction är STOPP:

    Ställ in hastigheten till noll oavsett vilken gräns som avslutades.

  7. Om boundAction är DIE:

    Ställ hastigheten på noll och anropa sprite's hide () -metoden. Detta kommer att orsaka att sprite försvinner och inte längre beaktas vid kollisionsberäkningar.

  8. En annan gräns anses vara FÖRTSÄTT.

    Ingen åtgärd är nödvändig här eftersom sprite fortsätter att flytta trots att den inte är synlig. Om det här är önskad effekt, ska du på något sätt ange användaren där sprite är, eller ge något sätt för att sprite ska återvända.

Här ingår en del av koden för kollisionskontrollrutinen:

offRight = false; offLeft = false; offTop = false; offBottom = false; if (this. x> rightBorder) {offRight = true;} om (this.x bottomBorder) {offBottom = true;} om (this.y <0) {offTop = true;} om (denna. boundAction == WRAP) {if (offRight) {this. x = leftBorder;} // slut om om (offBottom) {this. y = topBorder;} // slut om om (offLeft) {this. x = rightBorder;} // slut om om (offTop) {this. y = bottomBorder;}} annars om (denna. boundAction == BOUNCE) {om (offTop || offBottom) {this.dy * = -1; detta. calcSpeedAngle (); detta. imgAngle = detta. moveAngle;} om (offLeft || offRight) {this. dx * = -1; detta. calcSpeedAngle (); detta. imgAngle = detta. moveAngle;}} annars om (denna. boundAction == STOP) {if (offLeft || offRight || offTop || offBottom) {this. setSpeed ​​(0);}} annars om (denna. boundAction == DIE) {if (offLeft || offRight || offTop || offBottom) {this. Dölj(); detta. setSpeed ​​(0);}} annat {// fortsätt för alltid}} // End checkbounds

Om du vill ändra en sprite gränsöversikt i simpleGame kan du använda metoden setBoundAction () för att göra det.

Observera att några situationer kan kräva olika beteenden. Till exempel kanske du vill vikla runt sidorna men stoppa längst upp eller ner. Om du behöver ett mer specifikt beteende, bygg bara en ny checkBounds () -metod för din sprite. Du måste dock kontrollera alla gränser eftersom din nya checkBounds () kommer att helt skriva över den som är inbyggd i simpleGame.

Hur man kontrollerar gränser i ditt HTML5-spel - dummies

Redaktörens val

Justering och justering av text i Word 2016 - dummies

Justering och justering av text i Word 2016 - dummies

Styckejustering i Word 2016-dokument har ingenting att göra med politik, och motiveringen har lite att göra med anledningarna till att lägga text i en paragraf. Istället hänvisar båda termerna till hur styckets vänstra och högra kanter ser på en sida. De fyra alternativen är vänster, center, rätt och fullständigt motiverad, ...

Hur man gör två kolumntext i Word 2016 - dummies

Hur man gör två kolumntext i Word 2016 - dummies

När man vill imponera på någon Med din text i Word 2016 kan du försöka sätta två kolumner på din sida. Några fler kolumner, och textbredden är för mager och svår att läsa. Två kolumner är dock ett bra sätt att bli snyggare och förbli läsbara. Starta ett nytt dokument. Eller om du ...

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

Hur man gör mellanslag mellan stycken i Word 2010 - dummies

När man skriver i Word 2010, du don Du måste inte trycka på Enter två gånger för att lägga till extra mellanrum mellan punkterna. Word kan lägga till det här rummet automatiskt:

Redaktörens val

Outlook 2013 Adressböcker - dummies

Outlook 2013 Adressböcker - dummies

Outlook 2013 använder fortfarande flera olika Adressböcker som verkligen ingår i Microsoft Exchange Server. Adressböckerna har flera separata, oberoende listor över namn och e-postadresser - det är ganska förvirrande. Microsoft förenklade problemet med att hantera adressböcker i Outlook 2002 och senare versioner, men det hjälper inte om du använder ...

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016 s Kontakter Hem Tab - dummies

Outlook 2016s Kontakter är mer än bara en lista med namn och e-postadresser. Du kan utnyttja fliken Kontakter hem i Outlook 2016-bandet för att skapa nya kontakter, för att ordna hur du visar kontakterna du har, eller för att skapa e-postmeddelanden eller sammanslagningsdokument. Följande bild visar ...

Outlook Web Access - dummies

Outlook Web Access - dummies

Outlook Web Access är en del av ett program som heter Microsoft Exchange, vilket många stora och icke- så stora organisationer kör till avancerade Outlook-funktioner som offentliga mappar, delade kalendrar och tilldelade uppgifter. Inte alla företag som använder Microsoft Exchange erbjuder Outlook Web Access, men om du gör det kan du logga in på Outlook från nästan ...

Redaktörens val

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Polering Ditt utvecklingsverktyg för kakaoprogrammering - dummies

Kakao är en typ av programmering som du kan utföra med Apples Utvecklarverktyg. Kakao är en samling verktyg och bibliotek som låter dig få ut det mesta av Mac OS X-programmeringen. Många funktioner gör Cocoa bra, bland annat följande: Modulär objektorienterad design Användning av ramar Visual interface design Varför program med ...

Snabba typer - dummies

Snabba typer - dummies

Swifts hantering av typer liknar andra språk, men varje språk har olika inriktningar och regler. I allmänhet har dessa regler att göra med de sätt som skrivs måste genomföras i fall där det finns tvetydighet. Hur mycket kostar språket (eller dess kompilator eller runtime bibliotek) för att säkerställa typkompatibilitet? Swift's approach ...

Klasserna Anatomi av en Swift Class - dummies

Klasserna Anatomi av en Swift Class - dummies

ÄR hjärtat i något objektorienterat programmeringsspråk. Till skillnad från klasser i mål-C och några andra språk behöver Swifts klasser ingen rubrikdeklaration. I stället får du hela klassen (eller struktur eller uppräkning) definitionen i ett format som detta: klass MyClass {var storedNumber: Int = 0 init (myNumber storedNumber: Int) {self. storedNumber = storedNumber ...