5
即時嘗試製作一條從左至右穿過畫布的線條。 IM尚處於早期階段,實現這一目標,使用下面的函數來完成一步一步的動畫做IM畫布:動畫貝塞爾曲線繪製
timer = window.setInterval(draw_line, 30);
我的繪圖功能是這樣
function draw_line()
{
context.fillStyle = "#000";
context.fillRect(0, 0, canv.width, canv.height);
context.beginPath();
context.lineWidth = 2;
context.strokeStyle = '#fff';
//Where p1, p2, cp1, cp2 are point objects that has x & y values already defined
context.moveTo(p1.x, p1.y);
context.bezierCurveTo(cp1.x,cp1.y,cp2.x,cp2.y,p2.x,p2.y);
context.stroke();
context.closePath();
// now i have to move p1, p2 ,cp1,cp2
// now here is my problem
}
我明白我需要移動p1.x+= a random number;
並且對於cp1和cp2也是一樣的,但是關於p2終點它應該按照相同的軌道行!我怎麼能做到這一點?
謝謝
謝謝您的回答,但什麼即時試圖實現的是有尾巴的點。第一個點p1隨機移動,第二個點p2跟隨p1尾 – trrrrrrm 2012-08-03 15:46:00
有趣的是,我從來沒有從你對這個問題的描述中得到這些......不幸的是,我仍然感到困惑。你有什麼想要達到的視覺例子嗎? – 2012-08-03 15:50:50
@ra_htial你是否正在尋找更像這樣的東西? http://jsfiddle.net/mobidevelop/bGgHQ/(在畫布上移動鼠標) – 2012-08-03 16:53:58