|
03. キー入力 |
|
ezplusではJ-PHONEと違いキー入力はMIDPの機能だけであり
拡張はされていません。
ですからJ-PHONEのTipsに書いている内容をそのまま使えますが
実は非常に困った問題があります。
また,とても重大な問題ですので書くことにしました。
それはauの携帯にある「メモ/クリアキー」の事です。
多分勝手アプリはほとんど対処してないと思いますが
実はこのキーを押すと例外落ちをします。
なぜかがわかれば回避できるのですが
わからないうちはさっぱり理解不能でした。
ボタンを押すとkeyPressed(int keyCode)が呼ばれます。
その後普通はgetGameAction(keyCode)に通してコードを変換します。
しかし!メモクリアキーを押したときに届くコードを
getGameAction(keyCode)に通すと例外が発生するのです。
これを回避するためにkeyCodeが0の場合はgetGameAction(keyCode)を
呼ばないようにしましょう。
例:
protected synchronized void keyPressed(int keyCode)
{
if(keyCode==0){return;}//KDDIメモクリアキー対処
int action=getGameAction(keyCode);
}
しかしこれってezplusのバグの気がするんだけど..(--;