2

是否可以使用 box2d 为像这样的游戏(双龙)http://www.youtube.com/watch?v=xb9P0YTeq5Y创建一个 2.5D 世界?

你知道任何工作的例子吗?

预先感谢您的时间。

4

1 回答 1

3

只是一个想法。我没有测试它。

首先,您必须为精灵设置动画,以产生在 Z 方向移动的错觉。:-)

然后您可以使用碰撞过滤来根据角色的位置管理碰撞。

Box2D 在决定它们是否会在您的场景中发生碰撞之前,总是必须知道两个物体是否发生碰撞。

在每个角色的每次碰撞中,您都可以测试其他角色和场景主体的 Y 位置,然后进行测试:

  • 如果碰撞体(大约,具有与您的角色“深度”相对应的阈值)在相同的 Y 位置,则您更改碰撞体的碰撞组以执行与身体特征的碰撞。

    看看这个优秀的教程,最后你有技巧通过在自定义函数中使用 b2Filter 来管理你的碰撞:http ://www.iforce2d.net/b2dtut/collision-filtering

    您可能还想看看http://box2d.org/forum/viewtopic.php?f=3&t=8738#p37119来处理第一次联系。

  • 如果被碰撞的物体不在同一个 Y 上,或者是“朋友”,你什么也不做,它们不会在场景中发生碰撞。

希望能帮助到你。

于 2013-03-06T02:50:17.073 回答