Как изменить положение визуализации отладки Box2D.js?

Я создаю игру с миром больше экрана. Поэтому мне нужно переместить Debug Draw в соответствии с визуализацией. Во флэш-порте для архивирования этой проблемы мы обычно перемещаем DisplayObject, который используется в качестве цели отладки отрисовки, но в javascript-порте Box2D отладки отрисовки не хватает этих возможностей? Или я что-то пропустил?

Я использовал box2dweb javascript-порт Box2DFlash 2.1a https://code.google.com/p/box2dweb/.


person Eugene Krevenets    schedule 31.03.2013    source источник


Ответы (2)


просто используйте функции контекста 2d холста:

context.translate(canvasOffset.x, canvasOffset.y); контекст.масштаб(масштаб,масштаб);

person Eugene Krevenets    schedule 02.04.2013
comment
Как именно вы это использовали? Вы устанавливаете его до, после [чего]? Также вам нужно сохранять и восстанавливать состояния преобразования контекста? - person bigp; 11.03.2015

Если вы хотите перевести свой контекст из абсолютных значений (т. е. значений из исходной позиции, а не из позиции последнего кадра), вам нужно будет сохранить и восстановить контекст, чтобы у вас было то же происхождение для переводов. Вам также может понадобиться clearRect для очистки области, которая будет нарисована.

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