J'essaie d'animer une icône de répétition rotative sur une toile, mais elle ne tourne pas au centre de l'image. Je ne sais pas quoi faire pour le faire tourner correctement.Impossible de faire pivoter un élément de canevas correctement
setInterval(draw, 30);
var degrees = 0.0;
function draw() {
var canvas = document.getElementById('tutorial');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.clearRect(0, 0, 16, 16);
degrees += 0.10;
ctx.save();
ctx.translate(8,8);
ctx.rotate(degrees);
// Draw half open circle
ctx.beginPath();
ctx.lineWidth = 2;
ctx.arc(8, 8, 6, 0, 1.75 * Math.PI);
ctx.stroke();
// Draw arrowhead
ctx.lineWidth = 2;
ctx.moveTo(13, 1);
ctx.lineTo(9, 5);
ctx.lineTo(13, 5);
ctx.lineTo(13, 1);
ctx.stroke();
ctx.restore();
}
}
Fiddle: http://jsfiddle.net/xTFkU/
Impressionnant, merci! Donc, d'après ce que je comprends, vous ne faites pas pivoter la toile avec son contenu. Au lieu de cela vous changez la rotation du point de départ, donc chaque élément que vous dessinez doit être ajusté pour cela? – TomvB
ouais c'est exactement ça. Im terrible à expliquer c'est un exemple de code que j'ai fait il y a un moment qui fait un meilleur travail pour l'expliquer http://jsfiddle.net/loktar/v86rC/ theres quelques façons de le faire, fondamentalement tout se résume à l'endroit où vous traduire, à partir de là, vous connaissez les compensations dont vous avez besoin. – Loktar