Wie zu springen und laufen auf Plattformen in Ihrem HTML5 Spiel

Die Plattform "Jump and Run" Genre hat eine Klammer Arcade-Genre aus gutem Grund seit langem. Es bietet eine schöne interaktive Erfahrung für HTML5-Spiel und ist relativ leicht für viele verschiedene Arten von Spielen zu ändern.

Das wesentliche Element einer Plattform-Spiel ist - gut - Plattformen. Die Aktion geschieht in der Regel mit einer Seitenansicht und einer Spielerfigur, die auf die Schwerkraft reagiert. Normalerweise springt der Spieler um auf Plattformen und im Kampf gegen Feinde durch Schießen, Springen oder Nahkampf.

Mein Prototyp zeigt die wesentlichen Merkmale. Es verfügt über einen Spieler-Charakter, die auf Plattformen springen und landen können. Ziehbare Plattformen sind enthalten, so dass Sie die Szene bearbeiten können und sehen, wie sich der Charakter mit verschiedenen Plattformkonfigurationen zusammenwirkt.

bild0.jpg

Codes Jump and Land Spiel

Der Schlüssel zu einer Seite-Rolle im Spiel ist das Springen und Landen Mechaniker. Benutze einen rückläufig Eigentum zu verfolgen, ob das Zeichen der Schwerkraft oder nicht reagieren soll. Hier ist der Code aus der checkKeys () Methode, die den Pfeil nach oben und macht den Charakter Sprung liest.

 if (keysDown [K_UP]) {if (this.falling == false) {this.setImage ( "characterUp.png") - this.y - = 5-this.falling = true-this.addVector (0, 15) -} // end if} else {checkFalling () -} // end if

Das checkFalling () Funktion prüft jeder der Blöcke. Wenn das Zeichen nicht wird jeder der Blöcke berührt haben, setzen zu fallen wahr. Dadurch wird der Charakter fallen lassen, sobald sie weg von einem Block bewegt.

Wie für eine Landung kommen in

Die Wechselwirkung zwischen dem Charakter und den Blöcken ist wichtig, weil Sie das Zeichen aufhören wollen zu bewegen Vor es trifft einen Block. Dies erfordert eine Technik namens prädiktive Kollisionserkennung, das klingt viel komplizierter, als es ist. Hier ist der Mechanismus:

  1. Bewegen Sie das Element als normal.

    Sind die Berechnungen um das Objekt zu bewegen (in diesem Fall das Zeichen) als normal. Beachten Sie, dass das Zeichen noch nicht gezogen wird, aber neue x und y-Werte wurden bestimmt durch Zugabe von dx und dy.

  2. Suchen Sie nach einer Kollision.

    Überprüfen Sie, ob das Zeichen mit etwas (in diesem Fall, wobei jeder Block in der Anordnung der Blöcke) kollidiert ist.

  3. Wenn eine Kollision auftritt, den Charakter sichern.

    Sie suchen nach einer Kollision überprüft, aber Sie wollen nicht das Zeichen mit dem Block zu überlappen. Stattdessen sind Sie daran interessiert zu wissen, ob der aktuelle Bewegungsvektor eine Kollision verursachen würde.

  4. Subtrahieren dx von x, dy von y.

    Eine Kollision erfasst worden ist, beeinträchtigt, so dass eine Kollision durch den Bewegungsvektor subtrahiert wird. Daraus ergibt sich die Sprite-Wesen, wo es begann, bevor die Kollision erkannt wurde.

  5. Stellen Sie die Geschwindigkeit des Sprites auf Null.

    Stellen Sie die Geschwindigkeit des Sprites auf Null, so dass die nächsten Frame verursacht nicht das Sprite wieder in den Block zum Absturz bringen.

Der einfachste Weg, um die Vorhersageverhalten zu bekommen, ist ein hinzufügen Backup () Verfahren zum Elf Gegenstand, der auf jede Art von Kollision genannt werden können:

 tCharacter.backup = function () {// Ich bin etwas überlappend, ich sollte nicht Raum teilen mit // zurück nach oben, wo ich war, bevor die Kollision detectedX war = this.x - this.dx-Y = this.y - this.dy-this.setPosition (X, Y) -} // End-Backup

Wie man ziehbar Blöcke machen

Das Spiel verfügt über ein weiteres sehr interessantes Feature: Jeder Block kann in eine neue Position gezogen werden, so dass Sie mit anderen Blockpraktika experimentieren können. Jeder Sprite ziehbar zu machen ist relativ einfach. überprüfen, zu einfach, wenn der Block zur Zeit angeklickt wird. Wenn ja, setzen Sie seine Position gleich der Mausposition:

 tBlock.checkDrag = function () {// Lassen Sie den Block draggableif (this.isClicked ()) {this.setPosition (scene.getMouseX (), scene.getMouseY ()) werden -} // end if} // end checkDrag

Wie die Plattform-Spiel zu verbessern

Die Plattform-Spiel ist offen für viele Arten von Erweiterungen:

  • Verwenden Sie mehrere Ebenen. Die Standardblöcke sind leicht zu bauen und zu arbeiten, aber sie sind nicht sehr interessant. Experimentieren Sie mit verschiedenen Blockformen und Positionen zu interessanten Levels bauen. Sie können die Blockpositionen in Arrays speichern, um eine neue Ebene zu machen, und einfach die Bausteine ​​wiederverwenden.

  • Betrachten Sie eine Kachel-basierte Ansatz. Die Plattform Beispiel verwendet einen beliebigen Block Platzierung Schema, aber Sie können auch eine Kachel-basierte Ansatz.

  • Fügen Sie Ziele und Feinde. Eine offensichtliche Verbesserung dieses Spiel wäre ein bestimmtes Ziel zu umfassen mit einem Hindernis auf dem Weg zu erreichen. Überlegen Sie, wie Sie feindliche Charaktere implementieren könnte. Werden sie sich bewegen? Werden sie schießen? Sehen Sie sich auch Powerups Hinzufügen Springen Geschwindigkeit zu verbessern, fügen Sie eine Distanzwaffe, oder was auch immer Sie sich vorstellen können.

  • Fügen Sie mehr Feuerkraft. Fügen Sie eine Waffe auf den Charakter, so dass es schießen kann. In der Seitenwechslern, feuert die Waffe normalerweise horizontal, aber Sie können um das gewünschte Verhalten zu erhalten spielen.

  • Verbessern Sie die Physik. Die Dynamik dieses Spiels Arbeit ziemlich gut, aber man kann sie mit ein bisschen mehr Tweaking verbessern. Folgen Sie dem allgemeinen Rahmen des bestehenden Programms, sondern sehen, ob Sie können es genau funktioniert wie das, was Sie wollen.

Menü