JavaScriptでやってみること(その1)基本的なアニメーション
自分で作りたいものができたので、どの言語で実装するかをいろいろと検討したが、JavaScriptが一番いい(安上がりな)のではというとりあえずの結論に達した。
そこで少しずつ、自分がやりたいことを実現するには、どうすればいいのか考えていく。いきなり、複雑な処理を実現するのは無理なので、要素に分解して勉強していく。
- やってみること(その1)
- 複数の画像を連続描画してアニメーションを実行
- アニメーションを途中で止めて、キー入力を待つ
- キーが入力されると、別のアニメーションを再生開始
その1としては、こんな処理をやってみたく、ひっぱり出してきた参考書
にのっているソースを変えて実現。その1、できた。setTimeoutメソッドで自分自身の関数を呼び出すと、一定期間同じ処理を繰り返す、という常識。
以下、ソース。
<html> <head> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>animation</title> <script language="JavaScript" type="text/javascript"> var MAXIMG = 8; var NUMIMG = 4; var INTERVAL = 2000; var counter = 0; var timer; var imgs = new Array(MAXIMG); for (var i = 0; i < MAXIMG; i++) { imgs[i] = new Image(2272,1704); imgs[i].src = "images/img" + i + ".jpg"; } function animate1(){ document.myImg.src = imgs[counter++].src; timer = setTimeout('animate1()', INTERVAL); if (counter == NUMIMG) { clearTimeout(timer) } } function animate2(){ document.myImg.src = imgs[counter++].src; timer = setTimeout('animate2()', INTERVAL); if (counter == MAXIMG) { clearTimeout(timer) } } </script> </head> <body bgcolor="#ffffff" onload='animate1()'> <p> <img src="images/img0.jpg" name="myImg" alt="anime" width="568" height="426" onclick="animate2()"> </p> </body> </html>
JavaScriptプログラミング入門 第2版 | |
大津 真 オーム社 2006-09-23 売り上げランキング : 180643 おすすめ平均 入門書として内容はいいと思います。 初級者向け。 基礎からしっかり。ずっと使える。 Amazonで詳しく見る by G-Tools |