哪个对象更适合使用b2EdgeShape和b2ChainShape创建曲线?

时间:2014-01-01 07:44:25

标签: c++ ios c xcode box2d

我有一个为曲线生成点的函数。我使用这些点来创建代表地面的box2d体。

我尝试了以下两种方法:

  1. 生成所有点并将它们存储在数组中。任意两个连续点边缘形状之间的创建夹具。

  2. 生成所有点并将它们存储在数组中。创建一个b2ChainShape,并为链形状创建夹具。

  3. 测试时,两条曲线看起来都很平滑(毕竟它们使用相同的点)。根据Xcode中的时间分析器工具,我用来生成主体的方法花费大约相同的运行时间(几乎下降到毫秒)。

    我应该选择一个而不是另一个?

1 个答案:

答案 0 :(得分:0)

根据手册:

  

链形状

     

链形状提供了连接多条边的有效方法   一起构建你的静态游戏世界。链形状   自动消除鬼魂碰撞并提供双面   碰撞。

从问题的标题来看,您正在寻找创建一系列单个边缘而不是创建单个链形状。链形状更有效地创建“大量边缘”。

从实现的角度来看,我不能说碰撞检测是否存在性能差异(我的猜测是否定的,因为您仍在寻找各个边缘之间的碰撞)。