【问题标题】:Xcode: Cocos2d: Can't create world with Box2DXcode:Cocos2d:无法用 Box2D 创建世界
【发布时间】:2011-10-13 18:55:52
【问题描述】:

我的项目起源于 cocos2d Box2D 模板,但我在尝试创建世界时遇到了问题:

world = new b2World(gravity,doSleep);

给出错误:“b2World”的初始化没有匹配的构造函数。

文件是 .mm,我认为这可能是关于库链接的一些问题?如果是这样,我使用的是 xCode 4,如何检查 lib 是否正确链接?

谢谢。

【问题讨论】:

  • 你用的是哪个cocos2d版本?如果是 cocos2d 2.0 alpha,那么它应该带有更新的“cocos2d with box2d”项目模板。

标签: objective-c xcode cocos2d-iphone box2d


【解决方案1】:

您使用的是 Box2D v2.2 或更新版本。 b2World constructor 不再需要两个参数,只需要一个(重力)。你必须单独设置doSleep:

world = new b2World(gravity);
world->SetAllowSleeping(doSleep);

这不是从 Box2D v2.1.x 过渡到 v2.2.x 所需进行的唯一更改。 Kobold2D 有一个可用的 Box2D 2.2.1 示例项目,即使您不使用 Kobold2D,您也可以获得 Box2D 基础知识的更新源代码。特别是 GLESDebugDraw 类以及如何使用多个形状设置带有主体的屏幕边界框。

【讨论】:

  • 谢谢史蒂芬。看来 Box2D 官方参考错过了更新。 box2d.org/manual.pdf 第 8 页仍然有创造世界的旧方式。顺便说一句,你为 Cocos2D 问题设置了一个非常好的“监听端口”:)。
猜你喜欢
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多