jairogarcíarincón

Colisiones y movimiento


6.79K

Colisión con las plataformas



Para impedir que el muñeco atraviese las plataformas, bastará con añadir la siguiente línea en el método create(), por ejemplo, debajo de la colisión con los bordes:

this.physics.add.collider(player, platforms);
view raw phaser-007.js hosted with ❤ by GitHub


Si ahora ejecutas el juego verás que el muñeco cae hasta depositarse en el suelo.


Movimiento del jugador



El jugador debe poder moverse de izquierda a derecha y saltar entre plataformas. Para ello utilizaremos las flechas del teclado izquierda, derecha y arriba, respectivamente.

Lo primero que haremos será declarar como variable global, la variable cursors y a continuación, dentro de create(), inicializar dicha variable:

//variable para los cursores
var cursors;
/***********INSERTAR DENTRO DE CREATE******************/
//Inicializo los cursores
cursors = this.input.keyboard.createCursorKeys();
view raw phaser-008.js hosted with ❤ by GitHub


A continuación añadiremos en el método update() todos los posibles movimientos del jugador, teniendo en cuenta que no puede volar, sino solo saltar, de modo que comprobaremos que está tocando el suelo o una plataforma antes de dejarle saltar:

//Acciones que se realizan durante el juego (mover al jugador, actualizar contador, detectar colisiones, etc.)
function update ()
{
if (cursors.left.isDown)
{
player.setVelocityX(-160);
player.anims.play('left', true);
}
else if (cursors.right.isDown)
{
player.setVelocityX(160);
player.anims.play('right', true);
}
else
{
player.setVelocityX(0);
player.anims.play('turn');
}
if (cursors.up.isDown && player.body.touching.down)
{
player.setVelocityY(-330);
}
}
view raw phaser-009.js hosted with ❤ by GitHub


Si ejecutas el juego, podrás ver cómo el jugador puede moverse hacia los lados (ejecutándose además la animación correspondiente) y saltar. Además, cuando se queda parado, el jugador queda mirando de frente (frame 4 del spritesheet). Prueba a cambiar los valores de velocidad y salto a tu gusto.

El movimiento
Fuente: http://phaser.io


Publicado el 22 de Junio de 2025

phaservideosonido para videojuegos