ここは、ふぇりあ16歳が不定期に連載しているオンライン小説のページです。
VNIふぇりあ16歳へ
ゼロからわかる現代JavaScript
59.キャンバスを使ったアニメ。「canvas」
今回は
待ちに待ったアニメをJavascript + Cnavas(HTML5)で作ってみましょう
DOMでやっていたものをHTML5にしてみたというものです。
歩イントは
・clearRect
clearRectを使うことで、画面を消去します。
引数は、消去する部分の(X座標, Y座標, 横幅,
縦幅)になります。
今回使用するソースコード |
//X座標の初期値 var x = 0; function main() { //キャンバス要素の作成 var canvas = document.createElement("canvas"); //bodyに要素の追加 document.body.appendChild(canvas); //コンテキストを取得 2dは2D描画の意味 var ctx = canvas.getContext("2d"); //ループ処理 loop = function () { //位置の加算 x += 3; //描画処理 draw(); tm = setTimeout(loop, 50); } loop(); //描画処理 function draw() { //画面の消去 ctx.clearRect(0, 0, 600, 500); //四角の描画 ctx.beginPath(); ctx.rect(x, 20, 100, 80); ctx.fillStyle = "rgb(255, 0, 0)"; ctx.fill(); ctx.stroke(); //文字の描画 ctx.fillStyle = "rgb(0, 0, 0)"; ctx.fillText("X座標:" + x, 0, 10); } } |
ループ処理の作り方が
変数 = 無明関数()
という作り方になるのに要注意です。
実行結果
コラム:
HTML5は便利です。Flashのようなオーサリングツールを使わなくても
プログラミングでアニメを作ることができます。ただし描画はかなり遅いので、
まだまだFlashの方が便利かなと思います。
Flashの良さはトゥイーンにあります。
新しく使うならSliverlightのほうが絶対に性能がいいと思います。
(C)著作権はふぇりあ16歳とお兄ちゃんにあります。
無断転載、盗用は禁止です。