用球运动改变线的颜色

时间:2011-04-19 16:08:28

标签: javascript jquery html html5 canvas

我不得不在线上移动一个

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元素。

1 个答案:

答案 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)