|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Object | +--com.nttdocomo.ui.ImageMap
イメージを縦横に並べて大きな画像として扱うイメージマップを定義します。
イメージを割り当てる単位をここではセルと呼びます。 セルのサイズは固定サイズで、コンストラクタで指定します。 セルを縦横に並べてそれぞれにイメージを割り当てることで、 ゲームの背景などに適した大きな画像を作成することができます。
どのセルにどのイメージを割り当てるかは、マップデータで指定します。 マップデータは byte の一次元配列で、 配列のインデックス(index)とセルの座標(x, y)との間には以下の関係があります。
index = mapWidth * y + x;例えば、以下のような幅(mapWidth) 10、高さ(mapHeight) 8 のイメージマップの場合、 座標 (6, 4) にある X のセルのインデックスは 10 * 4 + 6 = 46 となります。
0 1 2 3 4 5 6 7 8 9 +---+---+---+---+---+---+---+---+---+---+ 0 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 1 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 2 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 3 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 4 | | | | | | | X | | | | +---+---+---+---+---+---+---+---+---+---+ 5 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 6 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ 7 | | | | | | | | | | | +---+---+---+---+---+---+---+---+---+---+イメージマップにマップデータを設定する際は、 マップデータと一緒にイメージの配列を指定します。 マップデータの配列の要素には、 イメージ配列の中のどのイメージを使用するかをイメージ配列中のインデックスで格納します。 マップデータの配列は byte の配列なので、0 から 127 まで最大 128 個のイメージを使用することができます。
マップデータの配列の要素が以下のいずれかの条件を満たす場合、 そのセルは描画されません。
Graphics.drawImageMap(ImageMap, int, int)
コンストラクタの概要 | |
protected |
ImageMap()
アプリケーションが直接このコンストラクタを呼び出してオブジェクトを生成することはできません。 |
|
ImageMap(int cellWidth,
int cellHeight)
セルの幅と高さを指定してイメージマップを生成します。 |
|
ImageMap(int cellWidth,
int cellHeight,
int mapWidth,
int mapHeight,
byte[] data,
Image[] images)
セルの幅と高さとマップデータを指定してイメージマップを生成します。 |
メソッドの概要 | |
void |
moveWindowLocation(int dx,
int dy)
イメージマップの中で表示する領域の幅と高さを変えずに座標だけを相対位置指定で設定します。 |
void |
setImageMap(int mapWidth,
int mapHeight,
byte[] data,
Image[] images)
マップデータを設定します。 |
void |
setWindow(int x,
int y,
int width,
int height)
イメージマップの中で表示する領域を設定します。 |
void |
setWindowLocation(int x,
int y)
イメージマップの中で表示する領域の幅と高さを変えずに座標だけを設定します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
protected ImageMap()
public ImageMap(int cellWidth, int cellHeight)
cellWidth
- セルの幅をドット単位で指定します。cellHeight
- セルの高さをドット単位で指定します。
IllegalArgumentException
-
引数 cellWidth, cellHeight のどちらかまたは両方に 0 以下の値が指定された場合に発生します。
public ImageMap(int cellWidth, int cellHeight, int mapWidth, int mapHeight, byte[] data, Image[] images)
セルの幅と高さとマップデータを指定してイメージマップを生成します。 マップデータとイメージの配列は、 このコンストラクタの引数で渡された配列オブジェクトの参照をイメージマップオブジェクトが保持します。 したがって、引数で渡された配列の要素を変更すると、 マップデータやイメージも変更されます。
ウィンドウ
はマップと同じ大きさに初期化されます。
cellWidth
- セルの幅をドット単位で指定します。cellHeight
- セルの高さをドット単位で指定します。mapWidth
- マップの幅を指定します。mapHeight
- マップの高さを指定します。data
- マップデータの配列を指定します。images
- イメージの配列を指定します。NullPointerException
-
引数 data または引数 images に null が指定された場合に発生します。
IllegalArgumentException
-
引数 cellWidth, cellHeight のいずれかまたは両方に 0 以下の値が指定された場合に発生します。
IllegalArgumentException
-
引数 mapWidth, mapHeight のいずれかまたは両方に 0 未満の値が指定された場合に発生します。
IllegalArgumentException
-
引数 data の配列の長さが引数 mapWidth * mapHeight よりも短い場合に発生します。
メソッドの詳細 |
public void setImageMap(int mapWidth, int mapHeight, byte[] data, Image[] images)
マップデータを設定します。 マップデータとイメージの配列は、 このメソッドの引数で渡された配列オブジェクトの参照をイメージマップオブジェクトが保持します。 したがって、引数で渡された配列の要素を変更すると、 マップデータやイメージも変更されます。
ウィンドウ
はマップと同じ大きさに初期化されます。
mapWidth
- マップの幅を指定します。mapHeight
- マップの高さを指定します。data
- マップデータの配列を指定します。images
- イメージの配列を指定します。NullPointerException
-
引数 data または引数 images に null が指定された場合に発生します。
IllegalArgumentException
-
引数 mapWidth, mapHeight のどちらかまたは両方に 0 未満の値が指定された場合に発生します。
IllegalArgumentException
-
引数 data の配列の長さが引数 mapWidth * mapHeight よりも短い場合に発生します。
public void setWindow(int x, int y, int width, int height)
Graphics.drawImageMap(ImageMap, int, int)
メソッドでイメージマップを描画する際は、
ここで指定されたウィンドウ領域のセルだけが描画されます。
x
- 表示する領域の左上の X 座標を指定します。y
- 表示する領域の左上の Y 座標を指定します。width
- 表示する領域の幅を指定します。height
- 表示する領域の高さを指定します。
IllegalArgumentException
-
引数 x, y が 0 未満の場合に発生します。
IllegalArgumentException
-
引数 width, height が 0 未満の場合に発生します。
IllegalArgumentException
-
引数 x と引数 width の和がマップの幅より大きい場合や、
引数 y と引数 height の和がマップの高さより大きい場合に発生します。
public void setWindowLocation(int x, int y)
Graphics.drawImageMap(ImageMap, int, int)
メソッドでイメージマップを描画する際は、
ここで指定された座標を反映したウィンドウ領域のセルだけが描画されます。
x
- 表示する領域の左上の X 座標を指定します。y
- 表示する領域の左上の Y 座標を指定します。
IllegalArgumentException
-
引数 x, y が 0 未満の場合に発生します。
IllegalArgumentException
-
引数 x とウィンドウ領域の幅の和がマップの幅より大きい場合や、
引数 y とウィンドウ領域の高さの和がマップの高さより大きい場合に発生します。
public void moveWindowLocation(int dx, int dy)
Graphics.drawImageMap(ImageMap, int, int)
メソッドでイメージマップを描画する際は、
ここで指定された座標を反映したウィンドウ領域のセルだけが描画されます。
dx
- 表示する領域の左上の X 座標の増分を指定します。
正の値を指定すると右に、負の値を指定すると左に移動します。dy
- 表示する領域の左上の Y 座標の増分を指定します。
正の値を指定すると下に、負の値を指定すると上に移動します。
IllegalArgumentException
-
引数 dx と現在の表示位置の X 座標の和が 0 より小さい場合や、
引数 dy と現在の表示位置の Y 座標の和が 0 より小さい場合に発生します。
また、引数 dx と現在の表示位置の X 座標の和とウィンドウ領域の幅の和がマップの幅より大きい場合や、
引数 dy と現在の表示位置の Y 座標とウィンドウ領域の高さの和がマップの高さより大きい場合に発生します。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DoCoMo,Inc.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。