Je travaille sur la construction de certains composants JavaScript pour gérer le dessin de toile générique, et j'ai du mal à faire fonctionner les rotations. J'ai une fonction similaire à celle-ci (celle-ci étant simplifiée un peu).Comment créer une fonction générique pour tourner avec du canevas JavaScript?
function drawThing (ctx, posX, posY, sizeX, sizeY, rotation, drawFn) {
// `ctx` is the 2d canvas context
ctx.save();
ctx.beginPath(); // Not sure if this is needed
ctx.translate(posX, posY); // What do I use here?
ctx.rotate(rotation); // rotation is in radians
drawFn(ctx, posX, posY, sizeX, sizeY);
ctx.restore();
}
function exampleDrawFn (ctx, posX, posY, sizeX, sizeY) {
ctx.fillStyle = "#333";
ctx.fillRect((posX - sizeX/2), (posY - sizeY/2), sizeX, sizeY);
}
Je ne sais pas quoi utiliser pour les paramètres de traduction; ou peut-être qu'il y a une erreur différente quelque part.
(Bien qu'il soit un peu compliqué, voici le code que je travaille actuellement sur: https://github.com/rocket-boots/rocket-boots/blob/master/scripts/rocketboots/Stage.js#L423)
juste une faute de frappe dans les méthodes 'ctx.drawImage':' -sizeX/2' et 'setTransform (...)' pas '}' – Kaiido
@Kaiido Merci, va réparer alors je pense que j'ai besoin de dormir .. – Blindman67
Malheureusement, lorsque j'ai essayé de mettre en œuvre cela, cela n'a pas fonctionné/n'a pas fait exactement la même chose que ma fonction. – Luke