iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 19
0
Modern Web

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

菜雞用 Phaser 拾起童年遊戲 19

  • 分享至 

  • xImage
  •  

昨天我們讓我們的遊戲添加了道具功能,今天我們來給我們的遊戲增加生命值的機制吧!走起!!

Photo by Jude Beck on Unsplash

生命的文字與提示

這邊我們利用了 groupconfig 機制來創建我們的生命值,這邊很方便的是如果你要製作很多一樣的東西可以透過 config 來幫你快速的佈置。

let life = 3;
...

    lifeText = this.add.text(10, 5, "Life: ");
    lives = this.physics.add.group({
      key: "ball",
      repeat: life - 1, // 這邊原先他就會幫你佈置一個,所以我們只需要重複 2 個可以佈置 3 個了
      setXY: { x: 65, y: 13, stepX: 15 },
      setScale: { x: 0.5, y: 0.5 },
    });

扣血機制

當我們的球掉到底下的時候扣除一點生命值,並且重置我們的球跟板子。
這邊可以看到我們可以用 enableBody 來重新設置我們的物件

    if (ball.body.y > 600) {
      // 刪除一顆場景內的生命值
      lives.getChildren()[lives.getChildren().length - 1].destroy();
      // 重置球跟板子
      ball.enableBody(true, 400, 500, true, true);
      ball.setVelocityY(200);
      board.enableBody(true, 400, 550, true, true);
      board.displayWidth = 95;
      board.setTint(0xffffff);
      speed = 160;
      direction = 1;
      life -= 1;
    }

現在的畫面就有了我們的生命提示囉~

總結

我們完成了我們的生命機制,但是感覺還是美中不足,感覺死掉之後馬上就開始有點太突然了,我們明天來調整一下這個機制吧!!

tags: Phaser Game 2020鐵人賽

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

尚未有邦友留言

立即登入留言