0

我这周才开始使用 Cocos2D。在玩 Box2d 时,我想知道是否可以在CCActions 的帮助下移动 CCSprite,并使用box2ds 碰撞检测功能来检测这些精灵之间的碰撞。

我很确定这一定是可能的?

4

1 回答 1

1

如果您不需要真正的物理行为,我强烈建议您“手动”处理您的碰撞逻辑。也就是说,对于您的情况,我将从这种方法开始。-

  • 每个精灵创建一个主体,并将每个精灵分配给用户数据。
  • 您的“静态”场景将映射到静态主体(即地板、平台等......)
  • 您的“动态”精灵将映射到动态主体,只有固定装置会被标记为传感器
  • 您将注册一个 b2ContactListener 来监听冲突。
  • 至于棘手的部分,您需要在主循环的每次迭代中将每个主体的位置设置为每个精灵的位置(当然,将像素转换为米),以避免它们只是表现为物理机构。您可以尝试不调用 world->step,但不确定contactListener 是否可以正常工作。

希望能帮助到你!

于 2013-04-12T22:10:00.497 回答