我一直在使用捆绑的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'
我一直试图解决这个问题两天但是没有成功。
任何机构都有解决方案吗?
任何指针?
答案 0 :(得分:2)
也许您忘了将b2Draw类添加到项目中。另外我认为你不应该使用b2Draw而是使用GLESDebugDraw。至少我使用的项目使用GLES-Render文件,其中定义了GLESDebugDraw类,该类派生自b2Draw(我相信在Box2D v2.1中命名为b2DebugDraw)。
class GLESDebugDraw : public b2Draw
如果有疑问,请使用其他人的GLES-Render文件。您可以从Kobold2D获得使用Box2D v2.2的那些: