| アプリケーション制御 |
iアプリではメインのクラスとして、IApplicationクラスを継承したクラス
(便宜上「メインクラス」と言っときます)を作成する必要があります。
iアプリの起動後は、メインクラス内のIApplication.start()メソッドを
オーバーライドしたメソッドから処理が開始されます。
メインクラスで、複数の画面制御のクラスを持っておき、
それらをDisplay.setCurrent()メソッドで切り替えることにより、
アプリケーションを制御するのだと想像しています。
今回は、画面が一個だったので、start()メソッド内では
その画面をセットしただけで、他には特になんもしていません。
|
| 画面制御 |
画面を描画するためには、Panelクラスもしくは、
Canvasクラスを継承したクラスを用意する必要があります。
今回は、Canvasクラスを継承したクラスを作成しています。
画面への描画は、Canvas.getGraphics()メソッドで取得する
Graphicsクラスのインスタンスに対して行います。
普通にGraphicsクラスのインスタンスへ操作を行うと、
そのまま画面へ表示されます。
(メインクラスで、Display.setCurrent()メソッドにて、
画面表示の指定をしとく必要はあります)
|
| キー制御 |
Canvasクラスを画面の表示に使っている場合、
キーが押下された際のイベント通知には、
Canvas.processEvent()メソッドが利用されます。
イベントが発生したときにこのメソッドが呼ばれるため、
画面制御のクラスでこのメソッドをオーバーライドする必要があります。
なお、このメソッドはキーイベントだけではなく、
各種のイベントが発生したときに呼び出されます。
通知されるイベントの種類はDisplayクラスに定義されています。
イベントタイプがDisplay.KEY_PRESSED_EVENTを示している時が
キー押下のイベントの発生を示しています。
|
| タイマ制御 |
Canvasを用いる場合、タイマはShortTimerクラスを用いる方法と
Timerクラスを用いる方法の二つがあります。今回はTimerクラスを利用しました。
Timerクラスを利用するクラスは、TimerListnerインタフェースを実装し、
Timerクラスのインスタンスを持つ必要があります。
Timerクラスのインスタンスに対し、タイマの開始・停止を指示するのですが、
開始を指示したタイマがタイムアウトした時には
TimerListner.timerExpired()メソッドをオーバーライドしたメソッドが
呼び出され、これによりタイマの処理を実現しています。
|