Hem Personliga finanser Hur man lägger till ett musrespons på ditt HTML5-spel för mobilåtkomst - dummies

Hur man lägger till ett musrespons på ditt HTML5-spel för mobilåtkomst - dummies

Video: Lägga till med båt mellan Y-bommar 2024

Video: Lägga till med båt mellan Y-bommar 2024
Anonim

Eftersom webbläsare är inkonsekventa i det sätt som de rapporterar musens position, är musposten i vanlig JavaScript knepig i HTML spelvärlden. SimpleGame-biblioteket hanterar detta genom att lägga till getMouseX () och getMouseY () -metoderna till scenobjektet. Dessa metoder är inte alltid exakt korrekta, men de är nära nog för de flesta spelprogrammering.

När du vill läsa en vanlig mus, använd bara objektobjektets getMouseX () och getMouseY () -funktioner för att bestämma den ungefärliga muspositionen.

Det mesta av tiden när du vill ha muspositionen beror på att du ska flytta ett objekt där musen är eller pekar ett objekt mot musen.

Ofta vill du gömma muspekaren, så att du kan använda motivets HideCursor () -metod för att dölja markören. (Naturligtvis kan du hämta markören med showCursor () -metoden.)

Om du vill läsa en pekskärm finns det ett enklare steg. SimpleGame-biblioteket har ett virtuellt joystickobjekt som heter Joy. Skapa en instans av den här klassen för att aktivera läsfunktionerna för pekskärmen.

Observera att pekgränssnittet för mobila enheter inte är precis som musen, så det behöver ett annat gränssnitt. Men när du har skapat ett Joy-objekt får funktionerna getMouseX () och getMouseY () en touch-ingångshandling som en vanlig mus.

touchMouse. html döljer den normala muspekaren och flyttar en boll varhelst musen pekar för närvarande. Det här exemplet fungerar både med en traditionell webbläsare och en pekskärmsenhet.

SimpleGame-biblioteket förenklar processen för att arbeta med muspekaren dramatiskt genom att ge några enkla metodsamtal. Här är koden:

touchMouse. html var boll; var spel; var glädje; funktion init () {game = new Scene (); boll = ny Sprite (spel, "redBall. png", 25, 25); boll. setSpeed ​​(0); spel. hideCursor (); glädje = ny glädje (); spel. start ();} // end init-funktionen uppdatering () {game. klar(); followMouse (); boll. uppdatering ();} // slutuppdatering funktion följerMouse () { x = spel. getMouseX (); y = spel. getMouseY (); om (spel. Berörbar) { // flytta objektet lite högre för pekskärmarna y - = 100; } // touchscreen-test boll. setPosition (x, y); }

Att få en sprite att följa med musen handlar bara om att veta vilka metoder som ska ringas.

  1. Dölj muspekaren.

    Scenobjektet har en hideCursor () -metod.Det här är det enklaste sättet att dölja den normala muspekaren. Normalt, när du följer musen med ett objekt, menar du för att objektet ska fungera som den nya muspekaren, så du kommer att gömma den normala pilen.

  2. Skapa en variabel för den virtuella joysticken.

    Om du arbetar med en pekplatta enhet behöver du en variabel som innehåller det virtuella joystickobjektet. (Om det här spelet bara kommer att användas på stationära maskiner med normala möss behöver du inte joystickobjektet.)

  3. Initiera joysticken.

    Gör en förekomst av Joy-objektet i init () -funktionen. Justering av joysticken kommer att berätta för motorn att förvänta sig inmatning och kartlägga den till normala muskommandon.

  4. Lägg till en followMouse () -funktion.

    Det är generellt bra att skapa en ny funktion för att hantera inmatning. Funktionen followMouse () kommer att berätta att objektet ska följa musen. Självklart, om du bygger ett objekt som följer musen kan du göra detta till en metod för det objektet om du föredrar det.

  5. Använd metoderna getMouseX () och getMouseY ().

    Sceneobjektet har metoder som heter getMouseX () och getMouseY (). Använd dessa metoder för att få musens X- och Y-koordinater på scenen. Observera att koordinaterna inte alltid är exakta.

  6. Kontrollera om du har en pekskärm.

    Scenobjektet har en berörbar egenskap som är sann om webbläsaren har en pekskärm. Du vill normalt inte att objektet ska döljas av ditt finger, så ofta vill du kompensera ett objekt när du använder en pekskärm för inmatning.

  7. Flytta objektet högre än ditt finger.

    I en pekskärmsmiljö vill du normalt att spritet fortfarande är synligt, så att du ofta kompenserar Y-axeln med en viss mängd så att den inte döljs av spelarens finger. Subtrahera något värde från Y för att få denna effekt.

Hur man lägger till ett musrespons på ditt HTML5-spel för mobilåtkomst - 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 ...