iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
0
Modern Web

菜雞用 Phaser 拾起童年遊戲 系列 第 13

菜雞用 Phaser 拾起童年遊戲 13

  • 分享至 

  • xImage
  •  

接下來我們要來製作我們的分數機制。

Photo by Jeswin Thomas on Unsplash

分數機制

  1. 一層樓梯消失,就是向下一層樓,也就是分數加一
  2. 分數越高的時候,速度越快
    在場景上增加分數的文字。
    先給一個分數的變數,並且在每次要產生新的樓梯時,加上分數。
let score = 0;

function create(){
  ...
  // 加上分數文字在場景內
  scoreText = this.add.text(470, 35, "B0", {
    fontSize: "40px",
    fill: "#0000aa",
  });
}

function update(){
  ...
  
  grounds.getChildren().forEach((el) => {
    if (el.y < 0) {
      el.destroy();
      // 加上分數機制
      score++;
      scoreText.setText("B" + score);

      ground = grounds
        .create(
          Phaser.Math.Between(0, 600),
          Phaser.Math.Between(1200, 1250),
          "ground"
        )
        .setScale(0.5);
      ground.body.immovable = true;
      ground.body.checkCollision = groundCollision;
      ground.isHeal = false;
    }
  });
}

再來把之前給定的樓梯速度改變成變數,並且讓他因為分數越來越快。

// 樓梯漂浮速度
let speed = 100;
function update(){
  ...
  
  grounds
    .getChildren()
    .forEach((el) => el.setVelocityY(speed * -1 - score * 5));
}

總結

太棒了~我們的遊戲已經可以完整的運作了!明天就來加上最後的機制!
加油!加油!下樓梯快到尾聲了~!

tags: Phaser Game 2020鐵人賽

上一篇
菜雞用 Phaser 拾起童年遊戲 12
下一篇
菜雞用 Phaser 拾起童年遊戲 14
系列文
菜雞用 Phaser 拾起童年遊戲 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言