sine curve
キャンバスで描画するプログラムを書いています。
HTML:
<canvas id="mycanvas" width="1000" height="100">
Your browser is not supported.
</canvas>
JavaScript:
var canvas = document.getElementById("mycanvas");
if (canvas.getContext) {
var ctx = canvas.getContext("2d");
ctx.lineWidth = 3;
var x = 0,
y = 0;
var timeout = setInterval(function() {
ctx.beginPath();
ctx.moveTo(x, y);
x += 1;
y = 50 * Math.sin(0.1 * x) + 50;
ctx.lineTo(x, y);
ctx.stroke();
if (x > 1000) {
clearInterval(timeout);
}
}, 10);
}
これは本当にうまく機能します: http://jsfiddle.net/HhGnb/
ただし、キャンバスの幅は 100px しか指定できないため、曲線の左端の 100px しか表示されません。http://jsfiddle.net/veEyM/1/
この効果をアーカイブしたい: 曲線の右点がキャンバスの幅よりも大きい場合、曲線全体が左に移動する可能性があるため、曲線、それは曲線が左に流れているようなものです。それをしてもいいですか?