ご存知の通り、J2MEにはHashtableクラスが用意されています。
汎用性のためキー、値はObject型で定義されていますが、実際に使うときいちいちキャストをするのは非常にめんどくさいです。
という訳で、都合のいいように子クラスを作ってしまいましょう。

public class MyHash extends Hashtable{

  public void put(String key,int value){
    super.put(key,new Integer(value));
  }

  public int get(String key){
    return ((Integer)super.get(key)).intValue();
  }

  public void set(String key,int value){
    super.remove(key);
    this.put(key,value);
  }
}

Stringのキーと、int型の値で使うことを前提にしています。
ちょっとした工夫で、ソースコードはずいぶんとスッキリしますね!

スプライトについて。


スプライトとは、画像の描画を取り仕切るシステムのことです。




class Sprite{

 int x,y; //描画

 Image img;



 public Sprite(Image img,int x,int y){

   this.x = x;

   this.y = y;

   this.img = img;

 }

}




クラス名は若干変かもしれませんが(ImageBoardとかの方が望ましい?)、こういうものを用意しておきます。




もっとも基本的な使い方としては、Vector型のspritesについて




  sprites.trimToSize();

 for(int i =0;i < sprites.capacity(); i++){

   Sprite temp = (Sprite)sprites.elementAt(i);

   drawImage(temp.img,temp.x,temp.y); //定義済み関数

 }




といった記述を描画メソッドで行っておきます。



その他のオブジェクトは、必要に応じてspritesにSpriteを入れたり出したりするだけで、描画処理を直接記述する必要はなく、保守性を高めることができます。




Vectorについては、J2MEであることからいくつかのメソッドが使えなくなっているので、getの代わりにelementAtを使う等注意してください。恐らくジェネリクスも使用できないので、キャストを明示する必要があります。




また携帯電話での開発は極力メモリに傾注する必要があります。Spriteクラス程度なら大したことにはなりませんが、Imageオブジェクトは全体で共有できるようにし、同じ画像を複数展開しないよう注意した方が望ましいですね。




 






時間の節約やモチベーションの維持に関して、開発効率を気にすることはよくあると思います。


そして、開発効率にもっとも大きく関わってくるのが開発環境です。





という訳で、MIDlet開発には欠かせない「Eclipse Pulsar」を紹介しておきます。


Eclipse Pulsar


ttp://www.eclipse.org/pulsar/





面倒なプラグイン無しに、ボタン一つでコンパイルからエミュレーションまで出来てしまう優れものです。


エディタでちまちまやっていた頃に比べれば、便利な時代になったものですね。





これと自作のデータ管理ツールでもあれば、快適な開発ライフが送れるのではないでしょうか。