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になってる・・・
