【发布时间】:2018-02-20 22:06:39
【问题描述】:
代码如下:
$(document).ready(function() {
var canvas = $("#canvas")[0];
var context = canvas.getContext("2d");
canvas.width = window.innerWidth
canvas.height = window.innerHeight
polygon(context, 120, 120, 50, 12);
context.stroke();
})
function polygon(ctx, x, y, radius, sides) {
if (sides < 3) return;
var a = ((Math.PI * 2) / sides);
ctx.beginPath();
ctx.translate(x, y);
ctx.moveTo(radius, 0);
for (var i = 1; i < sides; i++) {
ctx.lineTo(radius * Math.cos(a * i), radius * Math.sin(a * i));
}
ctx.closePath();
}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<canvas id="canvas">OOPS.. Upgrade your Browser</canvas>
此代码运行良好。但是我的每个 polgon 都出现在错误的位置。例如我打电话给
polygon(context, 120,120,50,12);
和
polygon(context, 120,220,50,12);
第二个多边形出现在x=220, y=220
我的意思是,它们在右侧移动,但它们应该以相同的x 坐标出现在另一个之下。
【问题讨论】:
标签: javascript canvas