html

Javascriptのcanvasと遅延処理でアニメーション

Javascriptのcanvasと遅延処理を組み合わせて簡単なアニメーションを描画してみる。夏なので簡単な花火っぽいアニメを作ってみた。

完成品

点火ボタンを押すとお粗末な花火が描画される(た~まや~)

花火風アニメの作り方

花火の描画

任意のサイズのキャンバスを作成して、キャンバスの中心から円形上に直線を描くことで実現する。

円形上に直線を描画するには下記のように三角関数を利用する。

遅延処理

動きのあるアニメーションにするためには描画と遅延を組み合わせる必要がある。
遅延はwindow.setTimeout(callback(), msec)を使って描画処理を再帰的に呼び出すことで実現できる。

例えば、描画処理を100ミリ秒ごとに10回実行する処理は下記のように書くことができる。

ソースコード

下記は本ページに埋め込んだ花火風アニメのソースコード。