added jump

Signed-off-by: Pascal Syma <pascal@syma.dev>
This commit is contained in:
2020-07-17 03:40:42 +02:00
parent 13e7c24b65
commit 9194dc50ed
6 changed files with 25 additions and 3 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

+1 -1
View File
@@ -29,7 +29,7 @@ export default class Chest extends Interactable {
this.play('chest_open'); this.play('chest_open');
const options = [/*"slow", "speed", "storm", */"heal"]; const options = [/*"storm", "slow", */"jump", "speed", "heal"];
let item = new Item(this.scene, { let item = new Item(this.scene, {
x: this.x, x: this.x,
+12
View File
@@ -34,6 +34,18 @@ export default class Item extends Interactable {
case "heal": case "heal":
user.hit(-2) user.hit(-2)
break; break;
case "speed":
const oldSpeed = user.getData('speed');
user.setData("speed", oldSpeed * 1.5);
setTimeout(() => user.setData('speed', oldSpeed), 5000);
break;
case "jump":
const oldjump = user.getData('jump');
user.setData("jump", oldjump * 2);
setTimeout(() => user.setData('jump', oldSpeed), 5000);
break;
} }
this.die(); this.die();
} }
+2 -1
View File
@@ -14,6 +14,7 @@ export default class Player extends Entity {
constructor(scene, spawnPoint, texture) { constructor(scene, spawnPoint, texture) {
super(scene, spawnPoint.x, spawnPoint.y, texture); super(scene, spawnPoint.x, spawnPoint.y, texture);
this.setData("speed", 100); this.setData("speed", 100);
this.setData('jump', 1.5)
this.setData('hp', 10); this.setData('hp', 10);
this.setOrigin(0.5, 1).setScale(32 / 48); this.setOrigin(0.5, 1).setScale(32 / 48);
@@ -74,7 +75,7 @@ export default class Player extends Entity {
// Jumping, Dashing // Jumping, Dashing
if (this.scene.upActive() && this.body.blocked.down) { if (this.scene.upActive() && this.body.blocked.down) {
this.body.velocity.y = -this.getData('speed') * 1.5; this.body.velocity.y = -this.getData('speed') * this.getData('jump');
} }
// Walking L R // Walking L R
+8 -1
View File
@@ -25,7 +25,7 @@ export default class Game extends Phaser.Scene {
default: 'arcade', default: 'arcade',
arcade: { arcade: {
gravity: {y: 300}, gravity: {y: 300},
debug: true // debug: true
} }
} }
}); });
@@ -251,6 +251,13 @@ export default class Game extends Phaser.Scene {
repeat: -1 repeat: -1
}); });
this.anims.create({
key: 'item_jump',
frames: this.anims.generateFrameNumbers('jump', {start: 0, end: 11}),
frameRate: 10,
repeat: -1
});
const mapKey = this.scene.settings.data.level; const mapKey = this.scene.settings.data.level;
const mapTilesetKey = "tiles"; const mapTilesetKey = "tiles";
+2
View File
@@ -26,6 +26,7 @@ import heal from "../assets/items/heal.png";
import slow from "../assets/items/slow.png"; import slow from "../assets/items/slow.png";
import speed from "../assets/items/speed.png"; import speed from "../assets/items/speed.png";
import storm from "../assets/items/storm.png"; import storm from "../assets/items/storm.png";
import jump from "../assets/items/jump.png";
import heart from "../assets/heart.png"; import heart from "../assets/heart.png";
import chest from "../assets/chest.png"; import chest from "../assets/chest.png";
import arrow from "../assets/arrow.png"; import arrow from "../assets/arrow.png";
@@ -66,6 +67,7 @@ export default class Preload extends Phaser.Scene {
this.load.spritesheet('storm', storm, {frameWidth: 16, frameHeight: 16, margin: 1, spacing: 2}); this.load.spritesheet('storm', storm, {frameWidth: 16, frameHeight: 16, margin: 1, spacing: 2});
this.load.spritesheet('speed', speed, {frameWidth: 16, frameHeight: 16, margin: 1, spacing: 2}); this.load.spritesheet('speed', speed, {frameWidth: 16, frameHeight: 16, margin: 1, spacing: 2});
this.load.spritesheet('slow', slow, {frameWidth: 16, frameHeight: 16, margin: 1, spacing: 2}); this.load.spritesheet('slow', slow, {frameWidth: 16, frameHeight: 16, margin: 1, spacing: 2});
this.load.spritesheet('jump', jump, {frameWidth: 16, frameHeight: 16, margin: 1, spacing: 2});
this.load.tilemapTiledJSON("lvl1", lvl1); this.load.tilemapTiledJSON("lvl1", lvl1);
this.load.tilemapTiledJSON("tutorial", tutorial); this.load.tilemapTiledJSON("tutorial", tutorial);
this.load.tilemapTiledJSON("menu", menu); this.load.tilemapTiledJSON("menu", menu);