是否可以使用box2d为像这样的游戏(双龙)http://www.youtube.com/watch?v=xb9P0YTeq5Y创建一个2.5D世界?
你知道任何有用的例子吗?预先感谢您的时间。
答案 0 :(得分: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,或者是“朋友”,你什么都不做,他们不会在场景中发生碰撞。
希望它有所帮助。