昨日に引き続きMIDPプログラミング。
int keystate = 0;
:
keystate = getKeyStates();
とすると、keystateにどのキーが押されているかの情報が格納される。(getKeyStatus()はjavax.microedition.lcdui.game.GameCanvasのメソッド)
各キーのON/OFFがkeystateの各ビットのON/OFFに対応していて、例えば左キーの状態を見たいときにはkeystateと定数LEFT_PRESSEDとのANDを取る。ということで、
if (keystate & LEFT_PRESSED) {
// 左キーが押されたときの処理
}
と書いたらコンパイラに怒られた。当たり前っちゃ当たり前なのだがちょっと新鮮だった。Javaの場合これは型の互換性エラーとなって、正しくは
if ((keystate & LEFT_PRESSED) != 0)
とかしないといけない。へー。
C/C++に慣れてるとこんなもんですよ。たぶん。
最近のコメント