将Cocos2d 1.0移植到Cocos2d 2.0

时间:2013-03-23 04:32:31

标签: cocos2d-iphone box2d-iphone

我有一个老游戏,我绑定更新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世界以显示调试形状?

2 个答案:

答案 0 :(得分:2)

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

中不起作用

答案 1 :(得分:1)

最后,我通过替换此绘制函数和GLESDebugDraw文件来获得调试形状。

-(void) draw
{
    [super draw];
    ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );
    kmGLPushMatrix();
    self.world->DrawDebugData();
    kmGLPopMatrix();
}