既存のVアプリを3GC機種へ対応させるための作業

関連「3GC型とVFX」

MIDlet-OCL → MIDxlet-API
MIDlet-Application-Range → MIDxlet-ScreenSize
MIDlet-Network → MIDxlet-Network
他いくつか「MIDlet-hoge → MIDxlet-hoge」なものがあるので要注意

Canvasのキーイベントで現れるkeycodeは、以前はgetGameActionを介さなくても判定できたが、3GCではkeycodeとGameActionを区別して識別すること。面倒なことを考えたくないなら、

public int getMyGameAction(int keycode){
 switch( keycode){
 case  KEY_NUM0 :
 case  KEY_NUM1 :
 case  KEY_NUM2 :
 case  KEY_NUM3 :
 case  KEY_NUM4 :
 case  KEY_NUM5 :
 case  KEY_NUM6 :
 case  KEY_NUM7 :
 case  KEY_NUM8 :
 case  KEY_NUM9 :
 case  KEY_POUND :
 case  KEY_STAR :
  return  keycode ;
 default:
  return  getGameAction(keycode) ;
 }
}

で、keyPressed(int keycode)などのメソッドの最初で、kecode=getMyGameAction(kecode)としておけば既存の場合と同様にいける。もちろん既存の機種でも問題なく動く。

Canvasの画面などのバッファは随所で使い回されているため、Canvasのpaintの最初でfillRect( 0, 0, width, height)としておく必要がある。こうしないと、前のDisplayableのゴミが残ることがある。

drawStringなどでは、必ずGraphics.HCENTER|Graphics.TOPのように縦横とも位置指定を入れないといけない。Graphics.TOPだけだったりGraphics.HCENTERだけだったりすると、そもそも文字が表示されない。

デフォルトのTimeZoneがJSTではなくGMTになってる・・・

このブログ記事について

このページは、らるるが2005年8月 8日 06:32に書いたブログ記事です。

ひとつ前のブログ記事は「ゴールド免許ゲットだぜっ」です。

次のブログ記事は「BF1942と相性の悪いハード」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.9.0