Created
April 19, 2019 03:59
-
-
Save keomamallett/9c54966efc17daee84f5704f5e276718 to your computer and use it in GitHub Desktop.
This is my code for lesson number 7 in the player "Making your first Phaser 3 game" on phaser.io. I created this in case a student needs it for reference.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const ZERO = 0; | |
const GAME_WIDTH = 800; | |
const GAME_HEIGHT = 600; | |
var config = { | |
type: Phaser.AUTO, | |
width: GAME_WIDTH, | |
height: GAME_HEIGHT, | |
physics: { | |
default: 'arcade', | |
arcade: { | |
gravity: { y: 300 }, | |
debug: false | |
} | |
}, | |
scene: { | |
preload: preload, | |
create: create, | |
update: update | |
} | |
}; | |
var game = new Phaser.Game(config); | |
function preload() { | |
this.load.image('sky', 'assets/sky.png'); | |
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 | |
} | |
); | |
} | |
function create() { | |
this.add.image(GAME_WIDTH/2, GAME_HEIGHT/2, 'sky'); | |
platforms = this.physics.add.staticGroup(); | |
platforms.create(400, 568, 'ground').setScale(2).refreshBody(); | |
platforms.create(600, 400, 'ground'); | |
platforms.create(50, 250, 'ground'); | |
platforms.create(750, 220, 'ground'); | |
player = this.physics.add.sprite(100, 450, 'dude'); | |
player.setBounce(0.2); | |
player.setCollideWorldBounds(true); | |
this.anims.create({ | |
key: 'left', | |
frames: this.anims.generateFrameNumbers( | |
'dude', | |
{ | |
start: 0, | |
end: 3 | |
} | |
), | |
frameRate: 10, | |
repeat: -1 | |
}); | |
this.anims.create({ | |
key: 'turn', | |
frames: [{ | |
key: 'dude', | |
frame: 4 | |
}], | |
frameRate: 20 | |
}); | |
this.anims.create({ | |
key: 'right', | |
frames: this.anims.generateFrameNumbers( | |
'dude', | |
{ | |
start: 5, | |
end: 8 | |
} | |
), | |
frameRate: 10, | |
repeat: -1 | |
}); | |
this.physics.add.collider(player, platforms); | |
cursors = this.input.keyboard.createCursorKeys(); | |
} | |
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); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment