如何更改Box2D.js的调试绘制可视化的位置?

时间:2013-03-31 19:24:10

标签: javascript debugging box2d game-physics physics-engine

我创造的游戏世界比屏幕更大。所以我需要根据可视化移动Debug Draw。在Flash端口存档这个问题我们通常移动DisplayObject作为Debug Draw的目标,但在Box2D Debug的javascript端口中Draw缺乏这种可能性吗?或者我想念一些东西?

我使用了Box2DFlash 2.1a https://code.google.com/p/box2dweb/ box2dweb javascript端口。

2 个答案:

答案 0 :(得分:4)

只使用canvas的上下文2d的函数:

context.translate(canvasOffset.x,canvasOffset.y);    context.scale(刻度,刻度);

答案 1 :(得分:0)

如果要从绝对值(即原始位置而不是最后一个帧位置)转换上下文,则需要保存和恢复上下文,因此翻译的起源相同。 您可能还需要clearRect来清除将要绘制的区域。

context.save();
context.clearRect(0, 0, debugCanvas.width, debugCanvas.height);
context.translate(canvasOffset.x, canvasOffset.y);
world.DrawDebugData();
context.restore();