Add level 1 background image and improve player velocity tracking
This commit is contained in:
parent
b4b42b20d3
commit
a8262f4bbf
Binary file not shown.
|
After Width: | Height: | Size: 954 KiB |
|
|
@ -11,6 +11,9 @@ export default class BootScene extends Phaser.Scene {
|
||||||
// Key must match the name Phaser derives from the TSX source: 'platforms'
|
// Key must match the name Phaser derives from the TSX source: 'platforms'
|
||||||
this.load.image('platforms', '../../assets/sprites/platforms.png');
|
this.load.image('platforms', '../../assets/sprites/platforms.png');
|
||||||
|
|
||||||
|
// Level 1 background image
|
||||||
|
this.load.image('level1-bg', '../../assets/images/level1-background.png');
|
||||||
|
|
||||||
// Player spritesheet (128x256 per frame)
|
// Player spritesheet (128x256 per frame)
|
||||||
this.load.spritesheet('player', '../../assets/sprites/player.png', {
|
this.load.spritesheet('player', '../../assets/sprites/player.png', {
|
||||||
frameWidth: 128,
|
frameWidth: 128,
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,11 @@ export default class Level1Scene extends Phaser.Scene {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// -------------------------
|
||||||
|
// Background image
|
||||||
|
// -------------------------
|
||||||
|
this.add.image(0, 0, 'level1-bg').setOrigin(0, 0).setDisplaySize(30 * 128, 20 * 128).setScrollFactor(0.3);
|
||||||
|
|
||||||
const map = this.make.tilemap({ key: 'level1' });
|
const map = this.make.tilemap({ key: 'level1' });
|
||||||
|
|
||||||
// 'platforms' = name Phaser derives from the external tileset source 'platforms.tsx'
|
// 'platforms' = name Phaser derives from the external tileset source 'platforms.tsx'
|
||||||
|
|
@ -183,13 +188,15 @@ export default class Level1Scene extends Phaser.Scene {
|
||||||
}
|
}
|
||||||
|
|
||||||
update(time, delta) {
|
update(time, delta) {
|
||||||
// Store velocity BEFORE player.update() so we know if player was falling
|
|
||||||
this._prevVelocityY = this._player.body.velocity.y;
|
|
||||||
|
|
||||||
this._player.update(time, delta);
|
this._player.update(time, delta);
|
||||||
this._checkButtonPress();
|
this._checkButtonPress();
|
||||||
|
|
||||||
this._livesText.setText('Lives: ' + this._player.lives);
|
this._livesText.setText('Lives: ' + this._player.lives);
|
||||||
|
|
||||||
|
// Store velocity at END of frame so next frame's _checkButtonPress sees the
|
||||||
|
// pre-landing velocity. Physics zeroes velocity.y before update() is called,
|
||||||
|
// so capturing it here (post-physics, post-input) gives the correct falling speed.
|
||||||
|
this._prevVelocityY = this._player.body.velocity.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue