情况简介:在ue4中,我想要实现A人物释放技能碰到B物体后触发一次命中事件
遇到问题:在A碰到B后,会不断的触发命中事件,与需求不符。
解决逻辑:首先要明确流程
由上图可以得到,只有A释放了技能,才可以处理命中事件,并且只能处理一次
解决方法:1、因为只处理一次,所以在命中触发中添加DoOnce节点
2、添加判断标志B1,默认false,在A释放技能的时候,设置B1=TRUE。在命中触发事件里判断B1,如果B1为true,则重置DoOnce,并且执行一次(这里有一个问题,在重置了doonce后,并不会执行后面的代码,所以需要添加sequence队列来执行),在DoOnce后面的代码中,再把B1设置为False。
如图
由于这个逻辑是用了就设置为false,所以我称之为过河拆桥!
下图为命中的蓝图,A的蓝图只需要在必要的地方设置B1为ture即可