我正在创造比屏幕更大的世界的游戏。所以我需要根据可视化移动Debug Draw。在 Flash 端口中存档此问题,我们通常会移动用作 Debug Draw 目标的 DisplayObject,但在 Box2D Debug Draw 的 javascript 端口中缺乏这种可能性?或者我想念什么?
我使用了 Box2DFlash 2.1a https://code.google.com/p/box2dweb/的box2dweb javascript 端口。
我正在创造比屏幕更大的世界的游戏。所以我需要根据可视化移动Debug Draw。在 Flash 端口中存档此问题,我们通常会移动用作 Debug Draw 目标的 DisplayObject,但在 Box2D Debug Draw 的 javascript 端口中缺乏这种可能性?或者我想念什么?
我使用了 Box2DFlash 2.1a https://code.google.com/p/box2dweb/的box2dweb javascript 端口。
只需使用画布上下文 2d 的功能:
context.translate(canvasOffset.x, canvasOffset.y); context.scale(规模,规模);
如果您想从绝对值(即来自原始位置而不是最后一帧位置的值)转换上下文,则需要保存和恢复上下文,因此您具有相同的翻译来源。您可能还需要 clearRect 来清除将要绘制的区域。
context.save();
context.clearRect(0, 0, debugCanvas.width, debugCanvas.height);
context.translate(canvasOffset.x, canvasOffset.y);
world.DrawDebugData();
context.restore();