宏和函數的區別
“展開”就是直接將宏代碼直接復制粘貼替換到所有使用當前宏的地方。這個跟C++中的宏是一樣的。
1、宏可以有多個入口,多個出口,函數只有一個入口,一個出口
2、宏的參數可以使用“Exec”類型,函數不可以
3、類的成員函數可以被子類繼承,但宏不會被繼承,子類無法使用父類的宏。
4、可以創建自定義宏庫,供所有的藍圖使用
宏庫需要選擇父類,如果選擇Actor作為父類,則所有Actor的類及其子類都可以使用該宏庫。Object是所有類的父類,如果創建一個父類為Object的宏庫,則可以被所有藍圖使用。
5、宏特別適合於制作控制流。引擎自帶的控制流就是用宏制作的。例如Flip Flop,A輸出和B輸出交替
6、在宏中定義局部變量,搜索“local 數據類型”,只能使用基本數據類型,不能使用類類型(比如無法在宏中定義一個數據類型是Actor的局部變量)
7、給宏的局部變量賦值