宏和函数的区别
“展开”就是直接将宏代码直接复制粘贴替换到所有使用当前宏的地方。这个跟C++中的宏是一样的。
1、宏可以有多个入口,多个出口,函数只有一个入口,一个出口
2、宏的参数可以使用“Exec”类型,函数不可以
3、类的成员函数可以被子类继承,但宏不会被继承,子类无法使用父类的宏。
4、可以创建自定义宏库,供所有的蓝图使用
宏库需要选择父类,如果选择Actor作为父类,则所有Actor的类及其子类都可以使用该宏库。Object是所有类的父类,如果创建一个父类为Object的宏库,则可以被所有蓝图使用。
5、宏特别适合于制作控制流。引擎自带的控制流就是用宏制作的。例如Flip Flop,A输出和B输出交替
6、在宏中定义局部变量,搜索“local 数据类型”,只能使用基本数据类型,不能使用类类型(比如无法在宏中定义一个数据类型是Actor的局部变量)
7、给宏的局部变量赋值