最近在折騰2D游戲适刀,但是UE4沒有OneWay Platform功能(也或許是有我這菜鳥沒發(fā)現(xiàn)= =)轴术,2D游戲沒有這個功能樂趣可就失去一大半了锣光,無論如何炉爆,自己藍圖寫一個吧那就~
簡述:主要是利用Collision檢測人物是否在物體上,如果在岂津,按住一個按鈕虱黄,再跳起來,就會下去吮成。
教程開始:
新建一個Spirit橱乱,用Spirit新建一個藍圖,之后放兩個Box粱甫,上面的用來檢測人物碰撞仅醇,下面的用來擋住人物掉落。
上方Up Box創(chuàng)建一個Begin Overlap事件魔种,之后連接Branch判定是否Overlap生效,判定可以用== Get Player Character來判定粉洼,如下圖节预;
第二個Branch用來判定人物是否在平臺上方,如果在属韧,那就直接將Down Box的Collision Channel設(shè)定為Block安拟,這樣人物就可以站在上面,否則在短時間Delay(時間一定要短宵喂,不然可能會卡住糠赦,或者上不去下不來)之后再Block,否則可能人物會上不去锅棕,被腦袋卡住拙泽。
離開平臺用Up Box的End Overlap事件來檢測;
首先第一個Branch裸燎,也是利用== Get
Play Character來判斷顾瞻,如果Branch為真,進到下一個Branch德绿;
第二個Branch主要檢測是否人物在平臺上方(不這樣檢測的話荷荤,重新跳上平臺可能會出錯退渗,比如跳不上去),如果不在蕴纳,就直接前進到Collision Channel設(shè)為Ignore会油,如果在那么進入到第三個判定;
第三個判定主要是增加一個下平臺按鈕古毛,比如按住【手柄肩鍵】+【跳鍵】下落翻翩,大概就是這個意思,這里用了Is Input Key Down來判定喇潘,如果按住按鍵体斩,同時離開Box事件判定成功那就ok了。
最后的效果就是這樣的颖低。