Huis Persoonlijke financiën Hoe maak je een multi-statelijke animatie in je HTML5-game

Hoe maak je een multi-statelijke animatie in je HTML5-game

Video: The Vietnam War: Reasons for Failure - Why the U.S. Lost 2024

Video: The Vietnam War: Reasons for Failure - Why the U.S. Lost 2024
Anonim

Nu al deze bewegingen aan de gang zijn in je HTML5-game, wil je zeker meerdere geavanceerde animaties. U kunt de functie changeImage () of setImage () (ze zijn twee verschillende namen voor hetzelfde) gebruiken om op elk gewenst moment de afbeelding te wijzigen die aan een sprite is gekoppeld. Soms wilt u echter veel geavanceerdere animaties. Bekijk walkAnim eens. html.

Er gebeurt hier een heleboel beeldruil. De loopanimatie is eigenlijk een serie van acht verschillende afbeeldingen die snel worden geruild om de illusie van lopen te geven. Er zijn 4 verschillende animaties (één voor elk van de hoofdrichtingen), dus dat is een totaal van 32 verschillende afbeeldingen. Als u echter over de code kijkt, ziet u dat de tekensprite slechts één afbeelding bevat.

Deze afbeelding is een samengestelde animatie. Elke rij vertegenwoordigt een richting en elke rij bevat een cyclus of een reeks afbeeldingen die bedoeld is om te worden herhaald.

De rpg_sprite_walk. png afbeelding is gemaakt door Franck Dupont. Hij plaatste deze afbeelding royaal op de OpenGameArt. org site, waar hij bekend staat als "Arikel. "Hij bracht zijn werk uit onder een speciale licentie genaamd" Attribution - Share Alike. "Dit betekent dat mensen zijn werk gratis kunnen gebruiken of remixen, zolang ze de originele auteur schrijven.

De achtergrondafbeelding is van een auteur met de naam Hyptosis, die op dezelfde site afbeeldingen publiceerde onder het publieke domein. Getalenteerde en doordachte medewerkers zoals Franck en Hyptosis zijn de sleutel tot de bloeiende creatieve community. Kijk gerust eens op de open kunstgame-site voor meer fantastische kunstwerken om te gebruiken in je games, maar vergeet niet de auteurs te bedanken en toe te schrijven zoals ze verdienen.

De eenvoudige game. De js-bibliotheek bevat een functie voor het gemakkelijk maken van animaties met meerdere afbeeldingen. Kijk over de code voor walkAnim. html om te zien hoe het werkt:

walkAnim. html var-spel; var achtergrond; var karakter; function init () {game = new Scene (); achtergrond = nieuwe Sprite (spel, "rpgMap. png", 800, 600); achtergrond. setSpeed ​​(0, 0); achtergrond. setPosition (400, 300); karakter = nieuwe Sprite (spel, "rpg_sprite_walk. Png", 192, 128); karakter. loadAnimation (192, 128, 24, 32); karakter. generateAnimationCycles (); karakter. renameCycles (nieuwe Array ("down", "up", "left", "right")); karakter. setAnimationSpeed ​​(500); // start gepauzeerd teken. setPosition (440, 380); karakter. setSpeed ​​(0); karakter. pauseAnimation (); karakter. setCurrentCycle ("down"); spel.start ();} // update van de eind-init-functie () {game. duidelijk(); checkKeys (); achtergrond. bijwerken(); karakter. update ();} // update-functie beëindigen checkKeys () {if (keysDown [K_LEFT]) { karakter. setSpeed ​​(1); karakter. playAnimation () karakter. setMoveAngle (270); karakter. setCurrentCycle ("links"); } if (keysDown [K_RIGHT]) {karakter. setSpeed ​​(1); karakter. playAnimation () teken. setMoveAngle (90); karakter. setCurrentCycle ("right");} if (keysDown [K_UP]) {character. setSpeed ​​(1); karakter. playAnimation () teken. setMoveAngle (0); karakter. setCurrentCycle ("up");} if (keysDown [K_DOWN]) {character. setSpeed ​​(1); karakter. playAnimation () teken. setMoveAngle (180); karakter. setCurrentCycle ("down");} if (keysDown [K_SPACE]) { karakter. setSpeed ​​(0); karakter. pauseAnimation (); karakter. setCurrentCycle ("down"); }}

Je moet een paar nieuwe stappen nemen om een ​​animatie te maken, maar de resultaten zijn de moeite waard.

  1. Verkrijgen van een animatiebeeld.

    Je kunt zelf een afbeelding maken of de uitstekende bronnen zoals OpenGameArt bekijken. org om werk te vinden dat anderen hebben gedaan. Natuurlijk heb je de verantwoordelijkheid om het werk van anderen te respecteren, maar er is vandaag een geweldig werk beschikbaar in zeer tolerante licenties. Zorg ervoor dat de afbeelding is geordend in rijen en kolommen en dat elke subafbeelding exact dezelfde grootte heeft.

    Misschien moet u rommelen met uw beeldeditor om ervoor te zorgen dat de afbeelding de juiste indeling heeft en dat u de grootte van elke subafbeelding kent.

  2. Koppel de animatie aan uw sprite.

    U koppelt de volledige afbeelding aan uw sprite, maar toont slechts een klein deel ervan tegelijkertijd. Dit is gemakkelijker dan met een aantal afbeeldingen werken, en het is ook efficiënter.

  3. Maak een animatieobject met de methode loadAnimation ().

    Wanneer u de methode loadAnimation () van een object aanroept, maakt u een animatietool waarmee u de animatie kunt beheren. De eerste twee parameters zijn de grootte van de volledige afbeelding (breedte en hoogte) en de tweede twee parameters zijn de breedte en hoogte van elke subafbeelding. Als u deze waarden verkeerd krijgt, lijkt de animatie te scrollen. Blijf spelen totdat je deze waarden goed hebt:

    karakter. loadAnimation (192, 128, 24, 32);
    
  4. Bouw de animatiecycli.

    Elke rij wordt omgezet in een animatiecyclus. De standaardversie (zonder parameters) werkt in de meeste situaties goed. Zoek de documentatie op voor de meer geavanceerde toepassingen van dit hulpprogramma:

    teken. generateAnimationCycles ();
    
  5. Hernoem de cycli.

    De animaties die met de opdracht buildAnimationCycles () zijn gemaakt, hebben standaardnamen, maar het is bijna altijd beter om uw eigen, betekenisvollere namen bij te voegen. Voeg een array toe met een naam die aangeeft wat elke rij vertegenwoordigt:

    karakter. renameCycles (nieuwe Array ("down", "up", "left", "right"));
    
  6. Stel de animatiesnelheid in.

    De animatiesnelheid geeft aan hoe snel de animatie wordt uitgevoerd. Een waarde van 500 lijkt in de meeste toepassingen geschikt, maar u kunt deze waarde aanpassen, zodat de loopcyclus van het personage eruitziet alsof het het personage:

    voortstuwt.setAnimationSpeed ​​(500);
    
  7. Stel in welke cyclus u wilt weergeven.

    Met de methode setCurrentCycle () kunt u de cyclus kiezen met een van de namen die u hebt aangegeven in het teken renameAnimationCycles () step:

    . setCurrentCycle ("down");
    
  8. Gebruik de opdracht pauseAnimation () om de animatie te onderbreken.

    Met de opdracht pauseAnimation () wordt de animatie tijdelijk gestopt.

  9. Gebruik playAnimation () om de animatie te starten.

    Deze methode zal continu de huidige animatiecyclus doorlopen.

Zoals je kunt zien, voegt animatie enorm veel plezier toe aan gamen en opent het hele rijk van rollenspellen naar je repertoire.

Hoe maak je een multi-statelijke animatie in je HTML5-game

Bewerkers keuze

Kennis van auditplanning nodig voor de AUD-test - dummies

Kennis van auditplanning nodig voor de AUD-test - dummies

Bij het nemen van de audit en het attest ( AUD) test op het CPA-examen, moet u blijk geven van kennis van het auditplanningsproces. Bij het plannen van een audit moet een auditor overwegen of bepaalde randvoorwaarden aanwezig zijn. Deze voorwaarden stellen de CPA-firma in staat om efficiënt een audit uit te voeren en de auditor te helpen bij het verkrijgen van voldoende ...

Passiva op de FAR-test van het CPA-examen - dummies

Passiva op de FAR-test van het CPA-examen - dummies

De financiële boekhouding en rapportage (FAR ) test van het CPA-onderzoek test u uw kennis van verschillende soorten verplichtingen inclusief opgebouwde verplichtingen, langlopende schulden, uitgestelde belastingen en pensioenverplichtingen. Lopende verplichtingen De periodetoerekeningsbasis boekt opbrengsten wanneer deze worden verdiend en neemt uitgaven op wanneer deze zijn gemaakt. De transactiebasis is niet afhankelijk van gelddeposito's ...

Regeling oefenvragen voor het CPA-examen - dummies

Regeling oefenvragen voor het CPA-examen - dummies

De verordening (REG) -test op het CPA-examen richt zich op op twee terreinen: ondernemingsrecht en belastingen. Overweeg flashcards te gebruiken om termen voor de REG-sectie te leren en te onthouden. Voordat u deze test uitvoert, moet u vele definities, feiten en cijfers verteren en flashcards kunnen een grote hulp zijn. Welke van de volgende ...

Bewerkers keuze

Met de AF-ON-knop op uw EOS 80D - dummies

Met de AF-ON-knop op uw EOS 80D - dummies

Als u nerveus bent over de ontspanknop tot halverwege op uw EOS 80D drukken, uit angst dat u per ongeluk een foto maakt, wilt u misschien kennis maken met de AF-ON-knop. In de geavanceerde belichtingsstanden (P, Tv, Av, M, B, C1 en C2), kun je deze knop ingedrukt houden om hetzelfde doel te bereiken als ...

Hoe je de opname maakt met de sfeer op je Canon EOS 80D - dummies

Hoe je de opname maakt met de sfeer op je Canon EOS 80D - dummies

Met je EOS 80D kun je een beetje spelen met kleur, scherpte, contrast en belichting in bepaalde scènemodi. De modus Shoot by Ambience kan leuk zijn voor een beetje experiment. Met de Picture Style-functie kunt u kiezen hoe de camera uw originele beeldgegevens "verwerkt" wanneer u een van de JPEG-afbeeldingen gebruikt ...

Hoe je de opname-informatieweergavemodus op je Canon EOS 80D gebruikt - dummies

Hoe je de opname-informatieweergavemodus op je Canon EOS 80D gebruikt - dummies

In de weergavemodus Opnamegegevens op uw EOS 80D wordt een miniatuur van uw afbeelding weergegeven, samen met scads aan opnamegegevens. Je ziet ook een helderheidshistogram - het grafiekachtige ding in de rechterbovenhoek van het scherm. (Denk eraan, druk gewoon op de Info-knop om door de weergavemodi te bladeren om deze te zien.) Hoe ...

Bewerkers keuze

Hoe Excel 2016-werkmappen te delen via OneDrive - dummies

Hoe Excel 2016-werkmappen te delen via OneDrive - dummies

Voordat u uw Excel 2016-werkmap kunt delen, moet een kopie ervan opslaan in een map op uw OneDrive. De eenvoudigste manier om dit te doen is om eerst de werkmap te openen om te delen in Excel en klik op de knop Delen die aan de rechterkant van het lint verschijnt. Excel opent vervolgens een ...

Hoe werkbladen delen in Excel 2013 - dummies

Hoe werkbladen delen in Excel 2013 - dummies

Excel 2013 maakt het gemakkelijk om uw spreadsheets te delen met vertrouwde klanten en collega's. U kunt de opties op het scherm Delen in de weergave Backstage gebruiken om werkbladen per e-mail te verzenden of per chatbericht te verzenden naar anderen die toegang hebben tot Excel. Als Microsoft Lync online vergaderingssoftware op uw apparaat is geïnstalleerd, maakt u ...

Hoe een werkblad in Windows te splitsen in Excel 2016 - dummies

Hoe een werkblad in Windows te splitsen in Excel 2016 - dummies

Hoewel in en uit zoomen op een Excel 2016-werkblad kan je helpen om je te oriënteren, het kan niet twee afzonderlijke secties samenbrengen zodat je hun gegevens op het scherm kunt vergelijken (in ieder geval niet op een normale grootte waar je de informatie daadwerkelijk kunt lezen). Om dit soort truc te beheren, splitst u de ...