Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在画布的循环中绘制圆_Javascript_Html - Fatal编程技术网

Javascript 在画布的循环中绘制圆

Javascript 在画布的循环中绘制圆,javascript,html,Javascript,Html,所以我想在循环中画一个圆,但当我运行代码时,我会得到如下结果: for (var i = 0; i < iloscU; i++) { ctx.strokeStyle = "black"; var centreX = Math.random() * 1000; var centreY = Math.random() * 1000; var radius = 75; var startAngle = 0 * Math.PI / 180; var

所以我想在循环中画一个圆,但当我运行代码时,我会得到如下结果:

for (var i = 0; i < iloscU; i++) {
    ctx.strokeStyle = "black";
    var centreX = Math.random() * 1000;
    var centreY = Math.random() * 1000;
    var radius = 75;
    var startAngle = 0 * Math.PI / 180;
    var endAngle = 360 * Math.PI / 180;
    ctx.arc(centreX, centreY, radius, startAngle, endAngle, false);
    ctx.fillStyle = 'green';
    ctx.fill();
    ctx.stroke();
}

它应该只是在随机的地方画3个圆。我的代码如下:

for (var i = 0; i < iloscU; i++) {
    ctx.strokeStyle = "black";
    var centreX = Math.random() * 1000;
    var centreY = Math.random() * 1000;
    var radius = 75;
    var startAngle = 0 * Math.PI / 180;
    var endAngle = 360 * Math.PI / 180;
    ctx.arc(centreX, centreY, radius, startAngle, endAngle, false);
    ctx.fillStyle = 'green';
    ctx.fill();
    ctx.stroke();
}
for(变量i=0;i

我知道这很愚蠢,但我不知道是什么:(

ctx.beginPath();
前面添加
ctx.arc()
行。

我认为你的随机数是不正确的

小提琴(你的剧本作品)

var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
var-iloscU=3;

对于(var i=0;i我恐怕没有时间测试这一点,但请尝试添加openPath和closePath:

for(var i=0;i<iloscU;i++){

ctx.beginPath(); // open a new path

ctx.strokeStyle = "black";
var centreX = Math.random() * 1000;
var centreY = Math.random() * 1000;
var radius = 75;

var startAngle = 0 * Math.PI/180;

var endAngle = 360 * Math.PI/180;

ctx.arc(centreX,centreY,radius,startAngle,endAngle,false);

ctx.fillStyle = 'green';
ctx.fill();
ctx.stroke();


ctx.closePath(); // close the path

}

for(var i=0;i因为您仍然处于相同的状态,所以画布为您“排列”点

若要分隔,请在每次要绘制形状时开始一条新路径,并在绘制完成后将其关闭:

ctx.strokeStyle="black";
ctx.fillStyle="green";
var RADIUS=75;
var START_ANGLE=0;
var END_ANGLE=2*Math.PI;
var cx,cy;
for(var i=0;i<iloscU;i++){
    cx=Math.random()*1000;
    cy=Math.random()*1000;
    ctx.beginPath();
    ctx.arc(cx,cy,RADIUS,START_ANGLE,END_ANGLE,false);
    ctx.fill();
    ctx.stroke();
    ctx.closePath();
}
ctx.strokeStyle=“黑色”;
ctx.fillStyle=“绿色”;
var半径=75;
var起始角=0;
var END_ANGLE=2*Math.PI;
var-cx,cy;

对于(var i=0;i)在循环中绘制圆是什么意思?是否要设置它们的动画?