在2D平台游戏中爬下梯子

时间:2019-04-04 12:39:38

标签: unity3d

对于我的游戏,玩家角色需要上下爬在游戏区域的梯子。

enter image description here

目前,我可以为我的玩家角色向上爬,而目前我还没有。因为平台箱式对撞机应用了平台效应器,所以对于爬升来说,效应器不会产生任何问题,但是现在到达顶部之后,它变成了坚固的平台,所以现在我不能向下移动了。

要进行爬坡,我遵循了本教程:How To Make 2D Ladders In Unity - Easy Tutorial

我希望实现一些物理原理,以便在到达顶部后可以爬到梯子上。

2 个答案:

答案 0 :(得分:0)

您需要2个布尔变量isClimbingUp和isClimbingDown,这取决于按下的键和第二条射线,它们将检查-Vector2.up方向。然后再添加一个“ else if”语句以指示向下方向。

答案 1 :(得分:0)

是的,我设法解决了这个问题,并且该游戏已在商店中发布。 您可以使用以下链接进行检查: Humpty Trumpty's Border Wall

这是我对楼梯的整体物理设置: enter image description here

我已将触发对撞机应用于楼梯对象,并在玩家进入楼梯时禁用了玩家重力比例。 然后在触发器中进入并存在之后,我完成了此操作:

Physics2D.IgnoreCollision(m_CapsuleCollider, myStair.platformCollider, false);

当玩家在楼梯内时,禁用玩家与平台对撞机之间的碰撞。 我不认为Platform Effect 2D在此过程中对我有用,但我并没有删除它以保持安全。

因此,您必须保留连接到Stair的平台对象的引用。 希望您能找到解决此问题的总体思路。