UE4学习日记:蓝图通信和自定义事件
蓝图通信意为蓝图类之间的通信,涉及到相互变量的设置,方法的调用(触发事件)
(1)实现小白人在一定范围内加速奔跑
1.双击点开小白人的蓝图
2.从左上角拖出CharacterMovement(关于小白人的移动的参数都在这里面),设置最大行走速度(Set Max Walk Speed)
3.右键创造Custom event自定义事件,连接到设置最大行走速度上,并且把其中Max Walk Speed 连接到自定义事件上
(自定义事件创建完成)
4.创建新的Actor(触发加速),添加碰撞盒子
5.重叠事件首先要进行类型转化,只有进行类型转化才能和相应的类型进行通信,(cast to xxx)
6.转化成相应的类型之后就调用刚才创建的自定义事件(speed up),在这边可以设置相应的速度
(事件触发)
(2)物体自转
1.创建Actor,添加立方体
2.在蓝图中从左上角拖入Cube的引用,添加本地旋转(AddLocationRotation),设置为z轴2°
3.事件Tick连接本地旋转,即可实现立方体每帧绕z轴旋转2°
4.在事件Tick和本地旋转中加入Branch,像钥匙开门那节一样,添加新的布尔变量,用来控制立方体是否旋转。
5.添加自定义事件控制旋转,添加Branch,设置为旋转开关自反,如图
(意为如果现在旋转,再次触发则关闭,如果没有旋转,触发事件则开启旋转)
(自定义事件完成)
6.添加按键1,Pressed连出获取类的所有actor,像钥匙开门一样,Out actors选择Get
7.从Get连出上述自定义事件(控制旋转),连接即可
8.如果要实现所有的立方体旋转,则从Out actors连出for each loop,意为遍历所有立方体,然后执行旋转。
(事件触发完成)