Spiel-Bewegung
- Vorherige Seite Spiel-Drehung
- Nächste Seite HTML-Grafiken
Durch die Nutzung der neuen Methode zur Zeichnung von Komponenten, die im Kapitel 'Spielrotation' erläutert wird, wird die Bewegung jetzt flexibler.
Wie bewegt man ein Objekt?
in component
eine Geschwindigkeit
Attribut, das die aktuelle Geschwindigkeit des Komponenten darstellt, zu ändern.
und newPos()
Methoden geändert werden, um Geschwindigkeit
und Winkel
berechnet werden, um die Position des Komponenten zu bestimmen.
Standardmäßig ist das Komponentengesicht nach oben gerichtet, indem Geschwindigkeit
Attribut auf 1 gesetzt wird, beginnt das Komponent beginnt mit dem Vorwärtsbewegung.
Beispiel
function component(width, height, color, x, y) { this.gamearea = gamearea; this.width = width; this.height = height; this.angle = 0; this.speed = 1; this.x = x; this.y = y; this.update = function() { ctx = myGameArea.context; ctx.save(); ctx.translate(this.x, this.y); ctx.rotate(this.angle); ctx.fillStyle = color; ctx.fillRect(this.width / -2, this.height / -2, this.width, this.height); ctx.restore(); } this.newPos = function() { this.x += this.speed * Math.sin(this.angle); this.y -= this.speed * Math.cos(this.angle); } }
Wenden
Wir hoffen auch, dass wir links und rechts drehen können. Erstellen Sie eine Funktion namens moveAngle
neuen Attribut, das die aktuelle Bewegungs- oder Drehwinkelwerte anzeigt. In newPos()
in der Methode moveAngle
Berechnung Winkel
:
Beispiel
Setzen Sie den Attribut moveangle auf 1 und sehen Sie, was passiert:
function component(width, height, color, x, y) { this.width = width; this.height = height; this.angle = 0; this.moveAngle = 1; this.speed = 1; this.x = x; this.y = y; this.update = function() { ctx = myGameArea.context; ctx.save(); ctx.translate(this.x, this.y); ctx.rotate(this.angle); ctx.fillStyle = color; ctx.fillRect(this.width / -2, this.height / -2, this.width, this.height); ctx.restore(); } this.newPos = function() { this.angle += this.moveAngle * Math.PI / 180; this.x += this.speed * Math.sin(this.angle); this.y -= this.speed * Math.cos(this.angle); } }
Verwenden Sie die Tastatur
Wie bewegt sich der rote Block, wenn man die Tastatur verwendet? Wenn Sie den Pfeil 'Hoch' verwenden, bewegt sich der rote Block nicht nach oben und unten, sondern bewegt sich von einer Seite zur anderen und bewegt sich nach vorne, und dreht sich links und rechts, wenn Sie die Pfeiltasten 'Links' und 'Rechts' verwenden.
Beispiel
Stellen Sie sicher, dass das Spielareal fokussiert ist, und verwenden Sie dann die Pfeiltasten, um den roten Block zu bewegen.
- Vorherige Seite Spiel-Drehung
- Nächste Seite HTML-Grafiken