我不得不在线上移动一个
ctx1.arc(x, y, 10, 0, Math.PI * 2, true);
我想用球的运动将线的颜色从灰色改为红色。我正在尝试这个
function rancolour()
{
var red = Math.floor(Math.random() *255);
var green = Math.floor(Math.random() *255);
var blue = Math.floor(Math.random() * 255);
ctx1.color = 'rgb('+red+','+green+','+blue+')';
}
我可以帮忙吗?两者都是canvas元素。
答案 0 :(得分:1)
如果您的行以(x1,y1)
开头并以(x2,y2)
结束,当前位置为(x,y)
,那么您可以在每个点计算所需的RGB颜色:
var percent=((x2-x)*(x2-x)+(y2-y)*(y2-y))/((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
ctx1.color='rgb('+(128*(1-percent)+255*percent)+','+(128*(1-percent))+','+(128*(1-percent))+')';
这会将球的颜色从灰色rgb(128,128,128)
更改为红色rgb(255,0,0)
。