ソフトウェア設計及び演習2013
アニメーションの実装の仕方
GDK2013::アニメーションも参考にしてください.
動くものを表示するプログラムの構造
例として,平面上を動くボールの表示を考えます.
そのプログラムは,次の二つからなっているかもしれません.
- ボールが動いている世界をコンピュータの中に作リ出すこと
- その世界の様子を,画面を通して,人に見せること
ボール
- ボールは,初期の方向ベクトルと,初速度,(自身がいる)位置を持っています.
このボールの位置を計算することは簡単にできます.(ベクトル,速度)
世界を飛び出さないようにするチェックも簡単です.
表示
ボールが動いているように見せるにはどうしたらよいでしょうか.
一般的には,静止画を,一定時間間隔で表示することで実現します.
- 時間間隔中にボールが動いたかどうかを計算し,ボールを描く位置を決めます.
- 背景を描き,それに重ねてボールを今の位置に描けばいいわけです.
では、ボールが二つになった場合は,どうなるでしょう?
- 同じです.二つのボールのそれぞれの位置を計算し,背景を描き,個々のボールを描けばいいのです.
一つのボールの場合と二つのボールの場合で何が違っているでしょう?
- 表示されているボールの世界の時間と, コンピュータの中の時間がずれています.
プログラムの中では,表示される世界のごく短い時間間隔を進めるループを作ります. ループの中では,その時間内に起り得るすべてのことを,少しずつ進めます.
最終更新日:2013/10/23 15:31:46