У меня есть функция, которая периодически обновляет элемент canvas (игровая ситуация).
Предполагается, что один из нарисованных объектов может вращаться:
myObject = {};
...
myObject.radian = 0.75;
...
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что когда я применяю этот поворот к своей программе рисования, выполняя:
ctx.moveTo(CANVAS_WIDTH / 2, CANVAS_HEIGHT / 2);
ctx.rotate(myObject.radian);
ctx.drawImage(...
Он не устанавливает абсолютное значение поворота, но добавляет его к значению, используемому при обработке последнего кадра. Это не составило бы проблем, если бы я мог рассчитать дельту, обращаясь к старому значению вращения, но когда я console.log(ctx)
, кажется, что к нему не приложена какая-либо информация о вращении.
Есть ли способ сделать это, кроме как избавиться от идеи возможности установить вращение для моего объекта и вместо этого работать с дельтами? Спасибо!