Я хочу создать анимацию, которая нарисована на следующей диаграмме слева. Он должен визуализировать, т. Е. Облака, вращающиеся вокруг сферы.HTML5: изображение, вращающееся вокруг поворота, неправильная ориентация
Я хочу облако А вращаться вокруг точки поворота X в некотором фиксированном радиусе (т.е. 100px). Конечно, для облака важно правильно ориентироваться, иначе это выглядело бы странно. Я достиг эффекта вращения вокруг стержня на фиксированном расстоянии, но моя реканта была неправильно ориентирована (см. Рисунок справа).
Код следующее:
<canvas id="cloudsCanvas" width="1050" height="300"></canvas>
<script>
var cloudCenter = [400, 400];
// pivot point coordinates
var cx = 1050/2;
var cy = 800;
var deg = 45;
var cloud1 = new Image;
window.onload = function() {
var cloudsCanvas = document.getElementById("cloudsCanvas");
var cloudsContext = cloudsCanvas.getContext("2d");
setInterval(function() {
cloudsContext.save();
cloudsContext.clearRect(0, 0, cloudsCanvas.width, cloudsCanvas.height);
deg += 1;
// Center the needle on the canvas.
cloudsContext.translate(cx, cy);
cloudsContext.rotate(deg * Math.PI/180);
cloudsContext.drawImage(cloud1, cloudCenter[0], cloudCenter[1]);
cloudsContext.restore();
}, 50);
};
cloud1.src = './img/cloud1.png';
</script>
Любые идеи, как это исправить? Спасибо!
вы не можете просто повернуть изображение на 90 градусов? – man
U означает исходное изображение cloud1.png? Ну, я могу, но я воспринимаю это как последний способ, поскольку, я думаю, это можно решить более элегантным способом, не так ли? –
хорошо, похоже, вы просто делаете работу самостоятельно, если можете просто повернуть изображение. – man