const config = {
type: Phaser.AUTO,
backgroundColor: "#48C4F8",
width: 960,
height: 540,
pixelArt: true,
scale: {
parent: 'game',
autoCenter: Phaser.Scale.CENTER_BOTH
},
physics: {
default: 'matter',
matter: {
gravity: { y: 2 },
debug: false
}
},
scene: {
preload: preload,
create: create,
update: update
}
};
var player;
var stars;
var bombs;
var platforms;
var cursors;
var score = 0;
var gameOver = false;
var scoreText;
var game = new Phaser.Game(config);
function preload() {
this.load.image('ground', 'assets/platform.png');
this.load.image('star', 'assets/star.png');
this.load.image('bomb', 'assets/bomb.png');
this.load.spritesheet('dude',
'assets/dude.png',
{ frameWidth: 32, frameHeight: 48 }
);
this.load.image('spike', 'assets/images/spike.png');
this.load.atlas('player', 'assets/images/kenney_player.png', 'assets/images/kenney_player_atlas.json');
this.load.image('tiles', 'assets/tilesets/platformPack_tilesheet.png');
this.load.tilemapTiledJSON('map', 'assets/tilemaps/level1.json');
}
function create() {
player = this.matter.add.sprite(40, 0, "player", 4);
this.anims.create({
key: 'walk',
frames: this.anims.generateFrameNames('player', {
prefix: 'robo_player_',
start: 2,
end: 3,
}),
frameRate: 10,
repeat: -1
});
this.anims.create({
key: 'idle',
frames: [{
key: 'player',
frame: 'robo_player_0'
}],
frameRate: 10,
});
this.anims.create({
key: 'jump',
frames: [{
key: 'player',
frame: 'robo_player_1'
}],
frameRate: 10,
});
this.cursors = this.input.keyboard.createCursorKeys();
const map = this.make.tilemap({
key: 'map'
});
const tileset = map.addTilesetImage('kenny_simple_platformer', 'tiles');
const platforms = map.createStaticLayer('Platforms', tileset, 0, 0);
platforms.setCollisionByProperty({ collides: true });
this.matter.world.convertTilemapLayer(platforms);
platforms.setCollisionByExclusion(-1, true);
platforms.setCollisionByProperty({ collides: true });
this.matter.world.convertTilemapLayer(platforms);
this.matter.add.gameObject(player);
this.matter.world.on("collisionactive", (player, platforms) => {
skaterTouchingGround = true;
});
}
function update() {
if (this.cursors.left.isDown) {
player.setVelocityX(-3);
player.play('walk', true);
} else if (this.cursors.right.isDown) {
player.setVelocityX(3);
player.play('walk', true);
}
if ((this.cursors.space.isDown || this.cursors.up.isDown) && skaterTouchingGround) {
player.setVelocityY(-3);
player.play('jump', true);
}```