在Cocos2d V1中将Box2d更新为2.2.1

时间:2012-05-25 18:11:16

标签: ios xcode cocos2d-iphone box2d

我一直在使用捆绑的Cocos2d V1和Box2d。 我正在尝试更新到更新版本的Box2d,即Box2d V2.2.1。

我已将Gles-Render.h和Gles-Render.mm更新为最新版本,我做了一些更改,除了一个以外的所有错误。

debugDraw = new b2Draw();
world->SetDebugDraw(debugDraw);
debugDraw->SetFlags(b2Draw::e_shapeBit);

我收到错误:

ERROR: allocating an object of abstract type 'b2Draw'

我一直试图解决这个问题两天但是没有成功。

任何机构都有解决方案吗?

任何指针?

1 个答案:

答案 0 :(得分:2)

也许您忘了将b2Draw类添加到项目中。另外我认为你不应该使用b2Draw而是使用GLESDebugDraw。至少我使用的项目使用GLES-Render文件,其中定义了GLESDebugDraw类,该类派生自b2Draw(我相信在Box2D v2.1中命名为b2DebugDraw)。

class GLESDebugDraw : public b2Draw

如果有疑问,请使用其他人的GLES-Render文件。您可以从Kobold2D获得使用Box2D v2.2的那些:

GLES-Render.h
GLES-Render.mm