Javascript 如何使用HTML5画布创建道路线
我已经用画布创建了一条道路。我希望在中间添加线条。此外,线条之间的宽度、高度和间距也必须相应增加Javascript 如何使用HTML5画布创建道路线,javascript,html,canvas,Javascript,Html,Canvas,我已经用画布创建了一条道路。我希望在中间添加线条。此外,线条之间的宽度、高度和间距也必须相应增加 <canvas id="myCanvas" width="578" height="500"></canvas> var canvas = document.getElementById('myCanvas'); var context = canvas.getContext('2d'); var j = 0; for(var i = canvas.h
<canvas id="myCanvas" width="578" height="500"></canvas>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var j = 0;
for(var i = canvas.height*.30; i< canvas.height; i=i+20){
context.beginPath();
context.rect(canvas.width*.50, i-j, 3+j, 10+(j*2));
context.fillStyle = '#000000';
context.fill();
j++;
}
var canvas=document.getElementById('myCanvas');
var context=canvas.getContext('2d');
var j=0;
对于(变量i=canvas.height*.30;i
但我无法通过上述代码实现。请帮我解决这个问题。
更新:以下解决方案也考虑了每条线的倾斜,因此它不会绘制矩形,而是使用多边形。 在这里拉小提琴:
var canvas=document.getElementById('myCanvas');
var context=canvas.getContext('2d');
clearRect(0,0,canvas.width,canvas.height);
var j=0;
var y=0;
对于(var j=1;y
请注意,为了改进设计,了解每个变量的作用是很重要的
- j是线性递增的,只是一个计数器,直到你们的高度达到y为止李>
- w、 宽度随着j的每次迭代而线性增加
- h、 高度始终为宽度的5倍(如果需要,请更改该系数)
- x、 该位置偏离中心宽度的一半
- y、 将是高度的倍数,以有效容纳空白,我认为它为2.5,但可以调整
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
context.clearRect(0,0,canvas.width,canvas.height);
var j = 0;
var y = 0;
for(var j = 1; y < canvas.height; j++){
context.beginPath();
spacing = 2.5
w = j+1;
h = 4*w;
x = canvas.width*.50 - w/2;
y = y + spacing*h;
context.rect(x,y ,w,h );
context.moveTo(x,y);
context.lineTo(x+w,y);
context.lineTo(x+w+1/spacing,y+h);
context.lineTo(x-1/spacing,y+h);
context.lineTo(x,y);
context.closePath();
context.fillStyle = '#000000';
context.fill();
}