ios - 在 Cocos2d V1 中更新 Box2d 到 2.2.1

标签 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'

两天来我一直在尝试解决这个问题,但没有成功。

有没有人能解决这个问题?

任何指针?

最佳答案

也许您忘记将 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

关于ios - 在 Cocos2d V1 中更新 Box2d 到 2.2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759395/

相关文章:

iphone - 如何向 UITableview 标题中的 UISearchBar 添加按钮?

iphone - 一个接一个地运行动画失败

cocos2d-iphone - 如何在 cocos2d 中测试 Sprite 碰撞?

ios - 不允许向本地主机发出请求 - swift

ios - OpenGL ES 2.0 顶点蒙皮骨骼的最大数量?

iphone - 以编程方式从通知托盘中删除 UILocalNotification

ios - 在 iOS 中使用位掩码发送和接收数据

iOS 应用程序在 App Store 上显示的语言比在 Xcode 上多

iOS - 以编程方式更改 CCFile Sprite 图像

ios - 如何更改IO中的音调?