Browse Source

方块简化

master
jiannibang 6 years ago
parent
commit
b2bc0d672b
  1. 55
      games/game-rect/scenes/Rect.js

55
games/game-rect/scenes/Rect.js

@ -98,7 +98,7 @@ export default class Rect extends Phaser.Scene {
"tiles", "tiles",
values[j] values[j]
); );
// tile.setMask(mask);
tile.setMask(mask);
// call adjustTile method to adjust tile origin and display size // call adjustTile method to adjust tile origin and display size
this.adjustTile(tile); this.adjustTile(tile);
} }
@ -118,7 +118,7 @@ export default class Rect extends Phaser.Scene {
"tiles", "tiles",
Phaser.Utils.Array.GetRandom(values) Phaser.Utils.Array.GetRandom(values)
); );
// this.player.setMask(mask);
this.player.setMask(mask);
// adjust player origin and display size // adjust player origin and display size
this.adjustTile(this.player); this.adjustTile(this.player);
@ -126,16 +126,10 @@ export default class Rect extends Phaser.Scene {
this.score = 0; this.score = 0;
// add score text // add score text
this.scoreText = this.add.text(0, 0, "0", {
fontFamily: "Arial Black",
fontSize: tileSize / 2,
color: "#ffffff",
this.scoreText = this.add.text(20, 20, "", {
fontSize: 20,
}); });
// this.scoreText.setMask(mask);
// method to adjust score position
this.adjustScorePosition();
this.scoreText.text = "Game Score: " + this.score;
// move entire tile group up by this.gameOptions.tileSpeed pixels / second // move entire tile group up by this.gameOptions.tileSpeed pixels / second
this.tileGroup.setVelocityY(-this.gameOptions.tileSpeed); this.tileGroup.setVelocityY(-this.gameOptions.tileSpeed);
@ -165,9 +159,6 @@ export default class Rect extends Phaser.Scene {
}, },
this this
); );
} else {
// we need to adjust score position at each frame
this.adjustScorePosition();
} }
} }
// method to set tile origin and display size // method to set tile origin and display size
@ -180,15 +171,6 @@ export default class Rect extends Phaser.Scene {
sprite.displayHeight = tileSize; sprite.displayHeight = tileSize;
} }
// method to adjust score position
adjustScorePosition() {
// adjust score position according to its bounding box and player position
this.scoreText.x =
this.player.x + (tileSize - this.scoreText.getBounds().width) / 2;
this.scoreText.y =
this.player.y + (tileSize - this.scoreText.getBounds().height) / 2;
}
// method to move player tile // method to move player tile
moveTile(pointer) { moveTile(pointer) {
// if we can move... // if we can move...
@ -207,18 +189,19 @@ export default class Rect extends Phaser.Scene {
if (distance > 0) { if (distance > 0) {
// we can't move anymore // we can't move anymore
this.canMove = false; this.canMove = false;
// tween the player to destination tile
this.tweens.add({
targets: [this.player],
x: offsetLeft + column * (tileSize + tileSpace),
duration: distance * 30,
callbackScope: this,
onComplete: function () {
// at the end of the tween, check for tile match
this.player.x = offsetLeft + column * (tileSize + tileSpace);
this.checkMatch(); this.checkMatch();
},
});
// tween the player to destination tile
// this.tweens.add({
// targets: [this.player],
// x: offsetLeft + column * (tileSize + tileSpace),
// duration: distance * 30,
// callbackScope: this,
// onComplete: function () {
// // at the end of the tween, check for tile match
// this.checkMatch();
// },
// });
} }
} }
} }
@ -250,7 +233,7 @@ export default class Rect extends Phaser.Scene {
this.tweens.add({ this.tweens.add({
targets: [this.player], targets: [this.player],
y: tileBelow[0].gameObject.y, y: tileBelow[0].gameObject.y,
duration: 100,
duration: 50,
callbackScope: this, callbackScope: this,
onUpdate: function (tween, target) { onUpdate: function (tween, target) {
// at each update, we have to adjust player position because tiles continue moving up // at each update, we have to adjust player position because tiles continue moving up
@ -263,7 +246,7 @@ export default class Rect extends Phaser.Scene {
this.score++; this.score++;
// update score text // update score text
this.scoreText.setText(this.score);
this.scoreText.setText("Game Score: " + this.score);
// the good old array with all integers from zero to this.gameOptions.columns - 1 // the good old array with all integers from zero to this.gameOptions.columns - 1
let values = getValues(); let values = getValues();

Loading…
Cancel
Save