Javascript JS随机化lineTo
我需要随机化形状的坐标。 我知道我需要以某种方式介绍Math.floor(Math.Random*num);在那里排队,但我所做的一切似乎都不起作用 这是我试图随机化的带有填充坐标的块Javascript JS随机化lineTo,javascript,random,draw,Javascript,Random,Draw,我需要随机化形状的坐标。 我知道我需要以某种方式介绍Math.floor(Math.Random*num);在那里排队,但我所做的一切似乎都不起作用 这是我试图随机化的带有填充坐标的块 var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.lineWidth="5"; ctx.strokeStyle="black"; ctx.moveTo; ctx.lineTo(100,20); ctx.line
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.lineWidth="5";
ctx.strokeStyle="black";
ctx.moveTo;
ctx.lineTo(100,20);
ctx.lineTo(30,400);
ctx.lineTo(300,40);
ctx.lineTo(10,20);
ctx.stroke();
我找了又找,找不到任何直接的原因。
对不起,这也是一个很基本的问题,我对这个问题还很陌生,还在学习基础知识
提前谢谢你下面是我在下面解释的内容
检查有关画布的语法
如果希望能够快速轻松地指定随机坐标,可以将其封装在函数中
function randCoord(factor){
return Math.random() * factor;
}
然后像这样使用它:
// all of these will go to different points
ctx.moveTo(randCoord(300),randCoord(100));
ctx.lineTo(randCoord(300),randCoord(100));
ctx.lineTo(randCoord(300),randCoord(100));
ctx.lineTo(randCoord(300),randCoord(100));
您可以设置默认比例:
function randCoord(factor){
if (factor == undefined){
factor = 100;
}
return Math.random() * factor;
}
这将允许您简单地编写函数名
ctx.lineTo(randCoord(),randCoord());
您还可以创建另一个函数,该函数仅添加一个随机附加点
function addRandomPoint(xFactor, yFactor) {
ctx.lineTo( randCoord(xFactor), randCoord(yFactor) );
}
// these will all add new points
addRandomPoint();
addRandomPoint();
addRandomPoint(200, 300);
addRandomPoint(-100, 25);
然后在循环中总结出许多要点
// this will add 10 new points
for (var i = 0; i < 10; i++) {
addRandomPoint();
}
//这将添加10个新点
对于(变量i=0;i<10;i++){
添加随机点();
}
所以你可以这样做:
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.lineWidth="5";
ctx.strokeStyle="black";
ctx.moveTo(10, 10);
for (var i = 0; i < 10; i++) {
addRandomPoint();
}
ctx.stroke();
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
ctx.lineWidth=“5”;
ctx.strokeStyle=“黑色”;
ctx.moveTo(10,10);
对于(变量i=0;i<10;i++){
添加随机点();
}
ctx.stroke();
您尝试过什么?它是如何不起作用的(错误的、不受欢迎的行为等)?非常感谢。我会把它整合起来,我会让你知道它是否正常工作。我愿意接受你的回答,但我还没有获得我的分数。再次干杯,不客气@用户3178364您能接受答案吗?您可能无法向上投票,但应该可以选择复选标记。