LegendsOfCoyoteGulch/scenes/gulch.js

51 lines
1.4 KiB
JavaScript

import Phaser from 'phaser';
export default class LevelScene extends Phaser.Scene {
constructor() {
super({ key: 'LevelScene' });
this.player = null;
this.cursors = null;
this.camera = null;
}
create() {
// Load the tilemap
const map = this.add.tilemap('map');
const tileset = map.addTilesetImage('tileset', 'tileset');
// Create the ground layer
const groundLayer = map.createStaticLayer('Ground', tileset, 0, 0);
// Add player
this.player = this.physics.add.sprite(100, 100, 'player');
this.player.setBounce(0.2);
this.player.setCollideWorldBounds(true);
// Input
this.cursors = this.input.keyboard.createCursorKeys();
// Physics collision
this.physics.add.collider(this.player, groundLayer);
// Camera follow player
this.cameras.main.startFollow(this.player);
}
update() {
if (this.cursors.left.isDown) {
this.player.setVelocityX(-200);
} else if (this.cursors.right.isDown) {
this.player.setVelocityX(200);
} else {
this.player.setVelocityX(0);
}
if (this.cursors.up.isDown) {
this.player.setVelocityY(-200);
} else if (this.cursors.down.isDown) {
this.player.setVelocityY(200);
} else {
this.player.setVelocityY(0);
}
}
}