在之前的單元,你製作了一系列的遊戲功能包含 ‣ 以及 ‣ 。這個單元要把這些功能結合在一起做成一款遊戲,玩家在裡頭比賽誰活得比較久。只要存活得越久,就會獲得越多的分數

環境設定

一開始,你需要去設定遊戲的場景。複製你在前一個單元所設計的 ‣ 地板,並讓玩家彼此競賽誰能在這種環境下存活最長的時間

你也能夠使用 ‣ 來擊殺玩家,如果他們掉入岩漿的話,或者是乾脆讓他們直接掉入虛無之中。確保你有在某個地方放置 SpawnLocation ,這樣當玩家死亡後就能夠在重生點復活

https://developer.roblox.com/assets/blt62b691d5fe6a5ef7/5868022be26c745c15ff331c36ef5dbe.jpg

玩家的分數

Roblox 有一個內建的儀表板 Leaderboard 用來顯示玩家的狀態。當你透過它來設定玩家的分數,它將會顯示在遊戲畫面的右邊

https://developer.roblox.com/assets/blt03641813a9935174/f4d2f178e22daf139886234f4c1cc211.jpg

你將會在後面的單元學到更多自定義的方式來顯示訊息,但 leaderboard 是最簡單的一種方式以在 Roblox 裡頭去顯示分數

最好將用來設定遊戲狀態的腳本放在 ServerScriptService 裡頭。被放在這裡的腳本將會在遊戲開始時自動執行

ServiceScriptService ,建立一個腳本,取名為 SetupPoints

https://developer.roblox.com/assets/blt081876216f155a91/9656a2da86a61c4804c150237d4cf7df.jpg

偵聽玩家

在 Roblox, service 是一個用來執行一堆有用方法的物件。 Players 服務有一個事件稱為 PlayerAdded ,可以利用這個事件的時機來設立每個加入遊戲的玩家分數

你可以透過 game 物件的 GetService 函式來取得服務, game 是一個變數可從任何地方取得,它包含你遊戲的所有東西

  1. 使用 game:GetService("Players") 來為玩家的服務建立一個變數
  2. 建立一個函式名為 onPlayerAdded ,包含一個參數,傳入進入遊戲的玩家