基本思路:通過名字enum名查詢到對應的enum,然後呼叫對應函式,粗暴且效率不高,勝在邏輯簡單。
//enum轉fstring
template
forceinline fstring (enum2string)
(const fstring &name, tenum value)
return enumptr-
>
getnamebyvalue
((int32)value)
.tostring()
;//return enumptr->getname((int32)value);
}//enum轉name
template
forceinline fname enum2name
(const fstring &name, tenum value)
return
fname(*
(enumptr-
>
getnamestringbyindex
((int32)value)))
;}//string轉enum
template
forceinline tenum string2enum
(const fstring &name, fname value)
return
tenum
(enumptr-
>
getindexbyname
(value));
}
使用示例:
enum2string
("emyenum"
, emyenum:
:enum1)
;
思路:利用tactoriterator,獲取world中對應actor的迭代器
//記得引入engineutils.h
for(tactoriterator
it(getworld()
,amyactor:
:staticclass()
);it;
++it)
bool methodunit:
:loadfiletostring
(fstring& str,
const fstring& path)
//將檔案寫入到str
ffilehelper:
:loadfiletostring
(str,
*filepath)
;return
true
;}
UE4動畫功能整理
工欲善其事必先利其器,最近一段開始了對ue4動畫功能的系統性整理和學習。好在現在ue4的文件中文化已經開始了,有的文件是中文的,讀起來也輕鬆很多。當前使用的ue4版本為4.6.1。animblueprints animation composite skeletal controls physics...
UE4 新增多人聯機功能
ue4 藍圖 blueprints 提供了聯網功能,但預設情況下ue4並沒有啟用網路模組,啟動網路聯機功能需要以下兩個步驟 1 在工程的 config 目錄下 defaultengine.ini 檔案中新增以下內容 onlinesubsystem defaultplatformservice nul...
UE4 簡單的執行緒
有些工作不適合在遊戲邏輯中進行,例如在一幀中進了過於複雜的計算的話,遊戲會卡頓,這個時候我們可以考慮在另外乙個執行緒中進行計算而不再遊戲的主線程中進行計算。include runnable.h include runnablethread.h 首先定義我們要執行的runnable,我們所有要執行的邏...