1.自定义事件(函数调用事件)
自定义事件可以在函数中被调用,实现了函数调用函数外事件。
在蓝图中右键,输入custom event,点击创建事件
这个事件打印了一个wow的字符串。
然后在某函数中,右键输入自定义方法的名称,就会出现 call custom event。
这样就实现了用别的事件触发printwow这个函数,然后函数再去调用custom event这个过程。
比如这样
ps.用的是一个简单的,打印字符串的功能作为例子。一般来说自定义事件都比较复杂,用函数直接调用可以减少很多不必要的工作。
也可以用命令行进行调用, ce+空格+自定义事件名称
2.类蓝图调用场景中其他actor或类蓝图
左圆锥为类蓝图BP_M,右圆环为类蓝图BP_N
第一种思路就是在BP_M的类蓝图中添加一个变量,并且将该变量的类型改成要调用的actor 的类型。可以在场景中点击他看他的type。
下面具体介绍如何在类蓝图M中调用N中的事件或者函数。
首先,在M中添加变量,并修改类型为BP_N,可以把该类型改成public,便于选取。
编译并保存后,在场景中点击M,会发现多了一个属性,即选取哪个BP_N,
也可以用后面的吸管工具在场景中选取该对象。
比如图中,按E打印输出N的name;
ps.需要注意的是,右下角input选项里,auto receive input要选成我们目前的角色。做改动之前是default,是不接受我们输入的。
在n的蓝图中添加一个自定义事件,命令n旋转(因为之前选了个圆环,旋转看不出来,所以现在换成一根棍状的模型了)
编译并保存后 按E, 棍棍就开始旋转了。
调用函数同理。
第二种思路是借用中间量。
具体步骤如下。首先在一个在场景中绝对会存在的蓝图类(比如角色)作为桥梁,先在其中添加需要调用的变量,并在场景中指认。
注意要把PAWN转换成我们使用的类型,在这里是ThirdPersonCharacter,转换之后才可以在里面找到BP_N。
ps.上述两种方法,都需要在场景中事先指认变量N,如果想要在游戏进行过程中再进行指认怎么办呢?
复制了两根棍棍,name分别是BP_N, BP_N2, BP_N3。
假如我们只想让BP_N3进行旋转,就需要用到 get all actors of class这个函数。它是用来获取场景中某类物体,并输出一个以该类物体为元素的数组的函数。
这样就只有第二根棍旋转了。
3.类蓝图调用关卡蓝图中的自定义事件
可以用命令行的方式。
在类蓝图中,调用函数,Execute Console Command
command里面写 ce+空格+要调用的事件名。
就可以实现类蓝图调用关卡蓝图的自定义事件。