【发布时间】:2017-11-25 09:12:45
【问题描述】:
我目前正在制作一个 2D 游戏,并且我试图让我的角色在他的头碰到一个物体时死亡,但是,他会在同一种物体上行走。当他的脚接触某物时与他的头接触某物时,我如何区分?我会使用两个单独的盒子对撞机吗?如果是这样,我将如何编码?
【问题讨论】:
我目前正在制作一个 2D 游戏,并且我试图让我的角色在他的头碰到一个物体时死亡,但是,他会在同一种物体上行走。当他的脚接触某物时与他的头接触某物时,我如何区分?我会使用两个单独的盒子对撞机吗?如果是这样,我将如何编码?
【问题讨论】:
我不会使用碰撞器来检测玩家的头部何时接触天花板,而是使用一个碰撞器来检测整个身体。然后,使用Physics.Checkbox 确定是否有任何东西与玩家的头部发生碰撞。对于计算,您可以指定要省略的层,自然会省略玩家的对撞机。
因此,您的代码可能如下所示:
if(Physics.Checkbox(center, extents, rotation, playerLayerNumber)) {
//Handle player death here...
}
当然,唯一的问题是,如果你的场景中有其他物体,你的玩家会在任何东西碰到他们的头部时死亡。希望我能帮上忙!
【讨论】: