DH-SRPG 一:項目設置與Main.tscn
拿到別人的Godot項目,我們應該先看一下這個項目的項目設置,因為這里包含了項目有哪些全局的節(jié)點,按鍵映射有哪些改動,碰撞層是如何設置等等信息。所以,我們先來看看項目的設置吧。
項目設置:

首先是窗口設置,這里有兩個部分,窗口的寬高與拉伸模式,這里拉伸模式使用viewport,如果使用disabled的話,部分UI會受到影響。

這里是把默認的映射都刪掉了的,目前有7個映射分別是控制指針移動的SWAD和進行確認、取消、切換的KO;鍵,應該還有一個映射對應L但是目前還沒有想到L的功能所以沒有添加。

GData:是用于保存全局數(shù)據(jù)的節(jié)點,就目前來說(2023/6/20)它保存并初始化了一個玩家控制器用來表示玩家這種需要持續(xù)到游戲關(guān)閉的數(shù)據(jù)。
GCreateGrid:一個用來生成格子的全局節(jié)點,由create-grid插件創(chuàng)建,它可以根據(jù)一系列參數(shù)來生成一些二維坐標點。
GFloatInfo:一個用來生成浮動數(shù)值的全局節(jié)點,由float-info創(chuàng)建創(chuàng)建,它可以生成一個Label節(jié)點來顯示文字并播放動畫。

create-grid:這個插件在之前的介紹視頻介紹過。
float-info:這個插件得益于Hi小胡的視頻,這是個非常棒且十分有用的視頻,大家可以了解一下。

現(xiàn)在我們來看一下運行程序見到的第一個場景
Main.tscn
這個場景的節(jié)點結(jié)構(gòu)與代碼非常簡單

一個用來顯示標題的TitleCR與介紹游戲的InfoCR,重點是用來作為菜單的MenuCR與下面的Local、Net、Setting、Quit這一系列節(jié)點。
然后該場景的實際腳本只有一個main.gd,Local這些節(jié)點位于others/template_select_item下的template_select_item.tscn的使用,這個場景提供設置顯示文字、顏色與保存對象的功能。
Main.gd
這個腳本做的事情很簡單,就是根據(jù)按鍵映射來移動光標并在點擊確定時根據(jù)當前光標選中的來執(zhí)行一些功能。
menu_items決定有那些節(jié)點作為選項
pointer就充當數(shù)組下標
而current_item用于pointer變化時對上一個item的設置的撤銷,同時也代表來當前選中的
他們在_ready方法中初始化
下面是使用他們的代碼
可以看到,在獲取玩家輸入 S 和 W 時進行了一些操作,實現(xiàn)是確認pointer沒有超過數(shù)組下標,然后就是將current_item的選中狀態(tài)設置為 false 然后設置新的節(jié)點作為選中項并設置選中。
在點擊確定K時,會獲取屬于template_select_item的current_item的文本并根據(jù)文本來進行操作
這一部分非常簡單,這部分的邏輯在后續(xù)的有選項可供選擇的場景中都有一定的應用。
下一部分我們將調(diào)用 confirm_local() 進入游戲的第零關(guān),并介紹Scene由哪些部分組成以及它們的用途。
致歉:因為項目的更新隨時都有可能會破壞原有的代碼,您在看到此文時它可能已經(jīng)不是最新的了,請以現(xiàn)在項目的具體情況為準。
歡迎大家給項目提Issues
項目地址:https://gitee.com/DH-DoveG/dh-srpg-demo