欧美日韩精品久久久久_国产后进极品翘臀在线_穿丁字内裤带着震蛋被sm_久久大香香蕉国产拍国_精品小视频

游戲開發(fā)學(xué)習(xí) Day20:封閉地圖,金幣計數(shù)

時間:2023-02-09 10:12:19來源:嗶哩嗶哩

2023 年 2 月 9 日


(相關(guān)資料圖)

一、封閉地圖

之前咱們的關(guān)卡雖然算是基本完成了,但是還有一個明顯問題:邊緣不封閉。這會導(dǎo)致玩家掉落到地圖外無限下落,無法死亡。

有三種解決辦法:

在地圖下邊緣加一層“死亡線”(Area2D型),添加玩家觸碰死亡的邏輯;

判斷玩家 y 坐標(biāo),低于某個值之后就判斷死亡,比上一種更簡單直接;

直接用地圖 Tile 把整個關(guān)卡封閉起來,又比上一種更簡單直接,而且玩家很好理解,也是現(xiàn)在游戲的常見做法。

于是我選擇了第三種方案,用 TileMap 工具把地圖封閉起來了。這個過程中我還發(fā)現(xiàn)一個 bug,地圖區(qū)塊和添加的地刺等道具始終沒法網(wǎng)格對齊,還以為是網(wǎng)格設(shè)置有問題,最后發(fā)現(xiàn)是之前添加 TileMap 控件的時候沒有把坐標(biāo)設(shè)置成 (0,0),導(dǎo)致整體地圖發(fā)生了偏移,于是又重新畫了一遍地圖……

二、金幣計數(shù)

玩家吃金幣有什么用?連數(shù)量都顯示不出來!這回終于學(xué)到了,加入了金幣計數(shù)的邏輯,先把邏輯調(diào)通,會自動打印在終端中了。

先把 BaseLevel 和 Coin 在節(jié)點這里各自新建一個分組 base_level 和 coin。

然后給 BaseLevel 添加兩個計數(shù) totalCoins(金幣總數(shù))和 collectCoins(獲得金幣數(shù)),再添加兩個函數(shù),用于修改金幣總數(shù)和獲得的金幣數(shù),并發(fā)出金幣修改的信號 coin_total_changed。

要想讓獲得金幣的數(shù)量變化,還得在 Coin 的代碼里觸發(fā)調(diào)用獲得金幣的代碼,這里就會涉及到獲得分組中的節(jié)點的邏輯了(BaseLevel)。

以上,下次開始學(xué)習(xí)界面 UI 顯示,把相關(guān)數(shù)據(jù)顯示在界面上。

關(guān)鍵詞: 數(shù)據(jù)顯示 還有一個 有什么用

相關(guān)資訊
熱門頻道