我一直在使用与它捆绑在一起的 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'
两天来我一直在尝试解决这个问题,但没有成功。
有没有人能解决这个问题?
任何指针?
最佳答案
也许您忘记将 b2Draw 类添加到您的项目中。此外,我认为您不应该使用 b2Draw,而应该使用 GLESDebugDraw。至少我使用的项目使用一个 GLES-Render 文件,其中定义了一个 GLESDebugDraw 类,它派生自 b2Draw(我相信它在 Box2D v2.1 中被命名为 b2DebugDraw)。
class GLESDebugDraw : public b2Draw
如有疑问,请使用其他人的 GLES-Render 文件。您可以从 Kobold2D 获得与 Box2D v2.2 一起工作的那些:
关于ios - 在 Cocos2d V1 中更新 Box2d 到 2.2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759395/