最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【Godot4筆記】存檔功能(上)-游戲設置

2023-06-29 17:34 作者:大紅招財貓  | 我要投稿


????????Godot官方文檔介紹的很詳細,其中也給到了游戲配置的存檔建議。大致看了下原理都大差不差。

SavingGames:https://docs.godotengine.org/en/stable/tutorials/io/saving_games.html

ConfigFile:https://docs.godotengine.org/en/stable/classes/class_configfile.html#class-configfile

????????我參考的是SavingGame文檔中介紹的方法來保存設置信息。

???????? 首先創(chuàng)建一個用于寫存檔功能的腳本(不清楚以后會不會把游戲數(shù)據(jù)的相關存檔也放這里,看官方文檔介紹,可能內(nèi)容會非常多,說不定還要找別的方式來存檔游戲數(shù)據(jù)),存檔腳本不掛在在任何場景內(nèi),直接在項目-項目設置-自動加載中啟用,這樣就可以全局調(diào)用了。

???????? 存檔功能腳本內(nèi)容如下:

????????存數(shù)據(jù)步驟如下:

讀數(shù)據(jù)步驟如下:

????????以上方式,生成的存檔文件是沒有經(jīng)過加密的。要想加密存檔,使用FileAccess. open_encrypted_with_pass()方法打開文件,寫入用file.store_var()方法,讀出用file.get_var()方法。

???????? 存、讀存檔文件的方法很簡單,比較復雜的是游戲初始化時將存檔應用的順序、時機、方式。

???????? 先判斷配置文件是否存在,根據(jù)結果來覺得使用游戲初始的默認配置還是讀取存檔來初始化數(shù)據(jù)。

????????設置菜單中有些UI控件可以直接使用某些方法,既可以改變UI顯示上的狀態(tài),也可以同時觸發(fā)該控件的信號,類似CheckBox的set_pressed()和Slider的set_value()(godot自帶編輯器不會提示)。不過,ItemList里我沒有找到能同時改變顯示狀態(tài)和發(fā)出信號的方法,所以要手動設置顯示狀態(tài),再調(diào)用信號。

???????? 使用便捷的方法來同時修改狀態(tài)和觸發(fā)信號,帶來的問題就是按鈕上綁定的音效,在游戲初始化時就會響起。因為音效播放的動作是直接寫在信號方法里的,同時修改狀態(tài)和觸發(fā)信號的方法是沒有辦法通過信號內(nèi)傳遞參數(shù)的,我的解決辦法就是,加個計時。

????????以后可以在啟動游戲后,做一個假的進度條,設置內(nèi)容加載完成后進入主界面。

????????修改完配置后保存。

????????另外,兩種全屏模式后,應該就不再設置窗口大小了,所以禁用ItemList的選單??赡苁莋odot4的bug,不管代碼還是屬性面板內(nèi)修改Items的Disabled的狀態(tài),item只有顯示上改變了,點擊還是會觸發(fā)信號。也不知道是不是我哪里沒整對。


【Godot4筆記】存檔功能(上)-游戲設置的評論 (共 條)

分享到微博請遵守國家法律
新昌县| 林西县| 沁阳市| 通辽市| 资溪县| 邯郸县| 唐山市| 晋城| 霞浦县| 犍为县| 宿松县| 无锡市| 石阡县| 吕梁市| 梁河县| 文登市| 库尔勒市| 武义县| 永宁县| 班戈县| 盘锦市| 哈巴河县| 逊克县| 诏安县| 乌兰察布市| 施秉县| 乐清市| 鄂托克前旗| 沂南县| 吉木乃县| 赞皇县| 京山县| 余江县| 科技| 林甸县| 阳信县| 宜兴市| 鸡西市| 边坝县| 博野县| 始兴县|