UE4中2D游戏用蓝图实现 OneWay Platform 功能

最近在折腾2D游戏,但是UE4没有OneWay Platform功能(也或许是有我这菜鸟没发现= =),2D游戏没有这个功能乐趣可就失去一大半了,无论如何,自己蓝图写一个吧那就~

简述:主要是利用Collision检测人物是否在物体上,如果在,按住一个按钮,再跳起来,就会下去。

教程开始:

新建一个Spirit,用Spirit新建一个蓝图,之后放两个Box,上面的用来检测人物碰撞,下面的用来挡住人物掉落。


上方Up Box创建一个Begin Overlap事件,之后连接Branch判定是否Overlap生效,判定可以用== Get Player Character来判定,如下图;

第二个Branch用来判定人物是否在平台上方,如果在,那就直接将Down Box的Collision Channel设定为Block,这样人物就可以站在上面,否则在短时间Delay(时间一定要短,不然可能会卡住,或者上不去下不来)之后再Block,否则可能人物会上不去,被脑袋卡住。



离开平台用Up Box的End Overlap事件来检测;

首先第一个Branch,也是利用== Get

Play Character来判断,如果Branch为真,进到下一个Branch;

第二个Branch主要检测是否人物在平台上方(不这样检测的话,重新跳上平台可能会出错,比如跳不上去),如果不在,就直接前进到Collision Channel设为Ignore,如果在那么进入到第三个判定;

第三个判定主要是增加一个下平台按钮,比如按住【手柄肩键】+【跳键】下落,大概就是这个意思,这里用了Is Input Key Down来判定,如果按住按键,同时离开Box事件判定成功那就ok了。


最后的效果就是这样的。


你可能感兴趣的:(UE4中2D游戏用蓝图实现 OneWay Platform 功能)