Я работаю над этим и пытаюсь заставить его работать, но теперь я довольно сильно запятнал.Вращение прямоугольника на основе положения мыши X и Y
Я хочу, чтобы этот прямоугольник следовал за этой позицией мыши и правильно вращался. Это происходит за мышью, но мой поворот на угол кажется выключенным. Любая помощь или руководство, я не уверен, что я делаю неправильно здесь.
Вот код, который имеет угол в нем:
function createBoat() {
var angle = Math.atan2(
boat.y - mousePos.y,
boat.x - mousePos.x
) * 180/Math.PI;
ship_context.rotate(angle);
ship_context.fillRect(boat.x, boat.y, boat.width, boat.height); // create some shape, there is nothing on the canvas yet
}
Вот мой цикл
function loop() {
ship_context.clearRect(0, 0, window.innerWidth, window.innerHeight);
moveBoat();
time = Date.now();
createBoat();
setTimeout(loop, 1000/60);
}
Вот демо: http://staging.interactivemechanics.com/chop/row3.html
Кроме того, Sidenote, я работаю с основными формами прямо сейчас. Но я планирую перевести все на изображения. Прямоугольник будет лодкой, и у меня есть отдельная страница, где у меня есть листья в пруду. У меня есть эта часть, работающая с обнаружением столкновения. Я хочу знать, лучше ли использовать библиотеку здесь или я должен придерживаться холста?
Вот другая демонстрация: http://staging.interactivemechanics.com/chop/row2.html с движущимся материалом
Спасибо! Это сделало трюк, мне придется больше почитать об этом, есть ли у вас какие-то предложения? – Jeff
Вот хороший учебник, объясняющий поворот изображения, в том числе save(), rotate() и restore() http://creativejs.com/2012/01/day-10-drawing-rotated-images-into- холст / – Niddro