2010年5月9日日曜日

HTML5の Canvasで動くものを作ってみた

前回のHTML5の Canvasを使ってみたにて単純な三角形を作ってみました。

ただの三角形だとつまらないので、この三角形を動くようにしてみました!

三角形を動かす仕組みは、setIntervalを使って数秒おきに図形を描いています。

ただーし、図形を描くだけならすぐに出来るのですが、図形を消す方法がわからなかった。
ので、調べました!

context.clearRect(x,y,w,h)を使います!
消す方法はこれしか無いようです。
この関数の引数に消す範囲を渡します。そうすると、その範囲内の図形が消されます。

・ただ、三角形がウニョウニョ動くだけのソースです
  1. <!DOCTYPE html>  
  2. <html>  
  3. <body>  
  4. <canvas id="canvas1" width="300" height="200"></canvas>  
  5. <script type="text/javascript">  
  6. var canvas = document.getElementById("canvas1");  
  7. var context = canvas.getContext("2d");  
  8. var plus = true;  
  9. var count = 0;  
  10. var hoge = function() {  
  11.  var pos = 120;  
  12.  if(count > 70 || count < -70) {  
  13.   plus = plus === false;  
  14.  }  
  15.  if(plus) {  
  16.   count++;  
  17.  } else {  
  18.   count--;  
  19.  }  
  20.  pos = pos + count;  
  21.  context.clearRect(0, 0, 200, 200);  
  22.  context.beginPath();  
  23.  context.moveTo(120, 100);  
  24.  context.lineTo(pos , 50);  
  25.  context.lineTo(pos, 150);  
  26.  context.closePath();  
  27.  context.stroke();  
  28. }  
  29. setInterval(hoge, 10);  
  30. </script>  
  31. </body>  
  32. </html>  

・ブラウザが対応していれば、下記リンクから見れます
サンプル

1 件のコメント: