我正在使用cocos2d开发适用于iOS的Box2d编辑器。
我把b2World
包裹进了我自己的世界级。我想实现自己的绘图功能。由于我将绘制更高级别的类(Wall,Rope等),仅创建一个b2Draw
子类并将其设置为世界的DebugDraw是不够的,但我还需要更改b2World
{ {1}}。
从DrawDebugData
继承我的World类并覆盖CCLayer
方法是一个好主意吗?什么是更好的方法?
答案 0 :(得分:0)
只需将CCSprite指针添加到b2Body
userData即可将精灵附加到b2Body。然后每一帧根据b2bodies的位置更新你的精灵位置。
答案 1 :(得分:0)
我希望人们阅读的答案。
即使b2World实现了一些绘图功能,它只是用于调试目的,应该按原样使用(除非你想改变一行或两行)。
如果你想绘制更高级别的对象(或更改调试绘图的行为),你不应该修改b2World的绘图或GLES-Render。相反,您可以覆盖CCSprite / CCLayer绘图方法。