box2d - 如何使用Box2d实现2.5D世界

标签 box2d

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

你知道任何可行的例子吗?

预先感谢您抽出时间。

最佳答案

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

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

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

Box2D 始终必须知道两个物体是否发生碰撞,然后再决定它们是否会在场景中发生碰撞。

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

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

    看看这个优秀的教程,最后您将获得在自定义函数中使用 b2Filter 来管理碰撞的提示:http://www.iforce2d.net/b2dtut/collision-filtering

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

  • 如果碰撞体不在同一 Y 处,或者是“ friend ”,则您无需执行任何操作,它们也不会在场景中发生碰撞。

希望有帮助。

关于box2d - 如何使用Box2d实现2.5D世界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12419922/

相关文章:

Android、libgdx 和 box2d 基础知识

java - 为什么在 LibGDX 和 Box2D 中简单地按比例放大不能正常工作?

rendering - Box2D:如何手动渲染 body

android - 我如何在物体行进的方向上对物体施加力 (Box2D)?

android - 我在哪里可以学习如何实现 'Where is my water' 的物理原理?

iphone - 如何对 Box2D 物体施加恒定的力?

c++ - 应该使用 Cocos2d 还是在 C 中创建自己的代码

java - 没有 box2d 的 Libgdx 光

ios - 如何制造海星中所见的水?

C# XNA Box2d : What kind of joints for a ragdoll?