0

我有一个旧游戏,我绑定更新 Cocos2d 2.0 SDK。我得到了一些编译错误。

b2Vec2 gravity;
gravity.Set(0.0f, -10.0f);
self.world = new b2World(gravity, true);

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

当我将其更改为下面的代码时,它可以工作,但不会绘制 Box2D 调试形状。

self.world = new b2World(gravity);

如何以正确的方式初始化 Box2d 世界以显示调试形状?

4

2 回答 2

2

将 GLESDebugDraw 文件替换为新创建的 cocos2d 2.0 + Box2D 项目中的文件。您的版本仍在使用在 cocos2d 2.x 中不起作用的 GL ES 1.1 命令

于 2013-03-23T09:52:52.827 回答
1

最后我通过替换这个绘图函数和 GLESDebugDraw 文件得到了调试形状。

-(void) draw
{
    [super draw];
    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
    kmGLPushMatrix();
    self.world->DrawDebugData();
    kmGLPopMatrix();
}
于 2013-03-23T15:28:22.963 回答