Box2d DebugDraw в Cocos2djs

Я пытаюсь заставить box2d debugdaw работать в cocos2djs. Следующий код для меня просто нормально запускает игру без каких-либо ошибок или форм отладки. Где я ошибаюсь?

var b2Vec2 = Box2D.Common.Math.b2Vec2
    , b2World = Box2D.Dynamics.b2World
    , b2BodyDef = Box2D.Dynamics.b2BodyDef
    , b2Body = Box2D.Dynamics.b2Body
    , b2FixtureDef = Box2D.Dynamics.b2FixtureDef
    , b2PolygonShape = Box2D.Collision.Shapes.b2PolygonShape
    , b2DebugDraw = Box2D.Dynamics.b2DebugDraw;

// Construct a world object, which will hold and simulate the rigid bodies.
this.world = new b2World(new b2Vec2(0, -10), true);
this.world.SetContinuousPhysics(true);

var debugDraw = new b2DebugDraw();
debugDraw.SetSprite(cc.renderContext);
debugDraw.SetDrawScale(PTM_RATIO);
debugDraw.SetFillAlpha(0.8);
debugDraw.SetFlags(b2DebugDraw.e_shapeBit);
this.world.SetDebugDraw(debugDraw);

Затем я добавляю границы мира и физические тела.

Заранее спасибо. Заин


person Zain    schedule 29.11.2014    source источник


Ответы (1)


Вы пытались сделать следующее вместо использования debugDraw?

var debugNode = new cc.PhysicsDebugNode(space); debugNode.visible = true; this.addChild(debugNode);

Я знаю, что это работает для интеграции Chipmunk, я не уверен для box2d, но это должно работать.

person Sebastián Vansteenkiste    schedule 01.12.2014
comment
да я пробовал это, кажется, не работает для box2d. В итоге я перешел на бурундук, на js вроде проще. - person Zain; 02.12.2014