1

Cocos2d V1 とそれに同梱されている Box2d を使用しています。Box2d V2.2.1 である Box2d の新しいバージョンに更新しようとしています。

Gles-Render.h と Gles-Render.mm を最新バージョンに更新しました。1 つを除くすべてのエラーを取り除くいくつかの変更を行いました。

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

エラーが発生します:

ERROR: allocating an object of abstract type 'b2Draw'

これを2日間修正しようとしていますが、うまくいきません。

これに対する解決策を持っている体はありますか?

ポインターはありますか?

4

1 に答える 1

2

プロジェクトにb2Drawクラスを追加するのを忘れたのかもしれません。さらに、b2DrawではなくGLESDebugDrawを使用する必要があると思います。少なくとも私が取り組んでいるプロジェクトは、b2Draw(Box2D v2.1ではb2DebugDrawという名前だったと思います)から派生したGLESDebugDrawクラスが定義されているGLES-Renderファイルを使用しています。

class GLESDebugDraw : public b2Draw

疑わしい場合は、他の人のGLES-Renderファイルを使用してください。Kobold2DからBox2Dv2.2で動作するものを入手できます。

GLES-Render.h
GLES-Render.mm

于 2012-05-26T11:02:34.013 に答える