ctx代表整個畫布,那ctx.rotate(rot / 180 * Math.PI)是旋轉畫布而不是單個五角星嗎?
??????????? ctx.translate(xw, yw);
??????????? ctx.rotate(rot / 180 * Math.PI);
??????????? ctx.scale(R,R);
??????????? starPath(ctx);
五角星的繪制語句寫在了后面,那rotate 這個方法是在旋轉畫布?
通過相對位置讓小星星看起來是自己轉動了嗎?
??????????? ctx.translate(xw, yw);
??????????? ctx.rotate(rot / 180 * Math.PI);
??????????? ctx.scale(R,R);
??????????? starPath(ctx);
五角星的繪制語句寫在了后面,那rotate 這個方法是在旋轉畫布?
通過相對位置讓小星星看起來是自己轉動了嗎?
2016-08-25
舉報
2016-08-26
rotate的旋轉是你當前畫布里面的元素,繪制五角星,使用for循環畫出多個五角星,每次循環都使用了beginPath();
2017-10-26
45 * Math.PI/180,為什么是 180,而不是360?
2016-08-26
canvas的轉換不是針對整個canvas的,而是針對調用轉換方法之后繪制的shapes 或 paths。如下:
context.rotate(45 * Math.PI/180);
context.fillRect(50, 50, 50, 50);
? ?
順序很重要,反了就沒有旋轉的效果了。
此貼終結。
2016-08-26
我回過來想一想,canvas的旋轉是先把畫布轉好了,然后在旋轉過的畫布上畫星星,而不是把星星畫出來再動態旋轉。