五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

UE4 C++ 個人學習筆記之 DataTable的四種加載方式

2022-04-03 19:39 作者:末日時你吃了嗎  | 我要投稿

前言:

在筆者看來,由于諸多原因,通過自學的方式學習UE4 C++是一個非常困難、遠比學習藍圖要困難許多的過程,很多東西都需要自己去摸索,去試錯。

筆者留下這篇筆記,一方面是為了加固自身的記憶,另一方面是為了讓看到這篇筆記的人少走一些彎路。

才學尚淺,如果有錯誤歡迎指出,如果有什么交流學習群的話,請務必拉我進去。以上。


目錄:

一、通過 UPROPERTY宏 將對象暴露至藍圖中

二、通過ConstructorHelper 在構(gòu)造方法中加載 DataTable

三、當需要某種操作DataTable工具類時,可以考慮StaticLoadObject方法

四、通過繼承UDeveloperSettings類,以 Edit - Project Settings 的方式靈活配置數(shù)據(jù)表


一:通過 UPROPERTY宏 將對象暴露至藍圖中

二:通過ConstructorHelper 在構(gòu)造方法中加載 DataTable


注意事項:必須要在構(gòu)造函數(shù)中使用 ConstructorHelpers。

此外 如果會出現(xiàn)工程打開時卡死在75%的情況,很大可能就是因為使用了ConstructorHelper。或者把 項目目錄下的Intermediate文件夾給刪了

據(jù)說原因是:當其藍圖子類也試圖對ConstructorHelper生成的對象進行操作時,會出現(xiàn)循環(huán)調(diào)用的情況 。因此完全不建議在構(gòu)造方法中對數(shù)據(jù)表進行操作,

即任何對數(shù)據(jù)表的讀寫操作都應該在BeginPlay之后。

缺點是路徑寫死了,不便修改,也就是所謂的 硬代碼。但一般情況下都會選擇這種方法。



三:當需要某種操作DataTable工具類時,可以考慮StaticLoadObject方法

2023.03.07 更新
對于該段內(nèi)容中的 DataTable加載方式進行更新。
我們可以使用static variable 以保證該DataTable僅需要被加載一次,以防止內(nèi)存浪費。
注 “static UDataTable* LoadedDataTable = nullptr;”?這行代碼僅會在游戲開始時被執(zhí)行一次。




四:通過繼承UDeveloperSettings類,以 Edit - Project Settings 的方式靈活配置數(shù)據(jù)表

第一步:打開? ?項目目錄/config/DefaultGame.ini? 添加以下配置

第二步:創(chuàng)建UDeveloperSettings的子類,該類將會在編譯之后首次初始化。

第三步:創(chuàng)建UGameInstanceSubsystem的子類,在類中重寫 Initialize方法。該類將會在游戲開始后首次初始化。



編譯之后打開 項目設(shè)置,指定所需的DataTable?

(由于已經(jīng)在DefaultGame中指定了路徑,這里其實可以不指定直接重啟項目,再打開時就能直接拿到數(shù)據(jù)表。)

即我們可以直接在DefaultGame.ini中,以配置的方式對數(shù)據(jù)表進行管理!需要重啟項目!十分強大!??!超級強大!?。?/span>

如圖所示

第四步:在項目任何地方,可以通過該類直接獲取所需數(shù)據(jù)表(需要在BeginPlay之后)


:本方法參考來源請于英文搜索引擎搜索:

Easily Add ‘Editor & Project Settings’ to Unreal Engine (.INI)



尾聲:

任何對于數(shù)據(jù)表中數(shù)據(jù)的獲取,應當在游戲開始之后,目前我是這么認為的(以后就不好說了)

在C++中有等價于藍圖ConstructionScript 的?AActor::OnConstruction方法 ,該方法在構(gòu)造方法之后,BeginPlay之前,理論上是可以對 除最后一種方法以外 的另外三種方法獲取的數(shù)據(jù)表進行訪問,但仍然不建議這么做

UE4 C++ 個人學習筆記之 DataTable的四種加載方式的評論 (共 條)

分享到微博請遵守國家法律
罗定市| 方正县| 克什克腾旗| 连平县| 沂水县| 尚志市| 武隆县| 辽宁省| 黑山县| 洞头县| 察哈| 昌江| 贡山| 且末县| 旅游| 澳门| 察雅县| 常山县| 股票| 阿图什市| 汾阳市| 和顺县| 辽阳县| 铁力市| 紫阳县| 察雅县| 吉木萨尔县| 乐山市| 昭平县| 西峡县| 旌德县| 砚山县| 宜良县| 炉霍县| 来凤县| 宿松县| 安仁县| 淳安县| 天门市| 普兰店市| 阿克陶县|