libro
www.tuyano.com
iアプリ・プログラミング入門

タイマーでスプライトをリアルタイムに動かす (1/5)

作成:2009-12-30 10:04
更新:2009-12-30 10:04

■グラフィックを動かすには?

前回、二次元配列によるマップを必要なゲームなどについて「イメージマップ」という機能を紹介しましたが、今回はリアルタイム性のあるプログラムについて考えていきましょう。まずは、「グラフィックを動かす」ということについてです。

単純に静止したグラフィックを表示する方法は既にだいたいわかっていますね。では、あるグラフィックを描いたとき、そのグラフィックを動かすにはどうすればよいでしょうか。「描いたグラフィックを動かすメソッド」なんてものはありませんよ。そもそも、イメージにしろメソッドによる図形の描画にしろ、描いてしまった後は、ただのビットマップ。描いた「このグラフィックだけ」を操作することなんてできないんですから。

ではどうすればいいのか?というと、答えは簡単。描く場所を変更して、もう一度全部描きなおすんです。面倒そうに思えますが、実はこれが一番簡単です。クラスには、あらかじめグラフィックを描画する位置の情報などを保持するようにしておきます。そして必要に応じて位置情報を変更しては画面をrepaintします。repaintすると、paintが呼び出されて画面をすべて最初から描きなおします。これにより、特定のグラフィックの描かれる位置が変わり、「動いた」ようにみえるわけですね。

しかし、必要に応じてソフトキーを押すなどして画面を更新させるのでは、動くというより、手動の紙芝居を見ているようになってしまいます。動かすためには、画面更新が定期的に自動で行われないといけません。この頻度があがれば、より滑らかに動いているように見えるようになるでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「iアプリ・プログラミング入門」に戻る