|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Objectcom.nttdocomo.ui.Sprite
スプライトを定義します。
スプライトは、表示するイメージと表示する位置をもつオブジェクトです。
また、可視・不可視を設定することもできます。
スプライトオブジェクトは、コンストラクタやメソッドの引数に渡されたイメージオブジェクトへの参照を保持します。
そのため、引数に渡されたイメージオブジェクトを変更した場合はスプライトの描画にも影響します。
コンストラクタやメソッドの引数に渡されたイメージオブジェクトが dispose された場合は、
そのスプライトを描画した時に例外が発生します。
スプライトオブジェクトは、表示するイメージや表示する位置、可視・不可視などの設定を保持していますが、
それらの設定は互いに独立です。
すなわち、例えば setImage(Image) メソッドを呼び出してイメージを設定し直したとしても、他の setLocation(int, int) メソッドなどによる設定は影響を受けません。
SpriteSet| コンストラクタの概要 | |
protected |
Sprite()
アプリケーションが直接このコンストラクタを呼び出してオブジェクトを生成することはできません。 |
|
Sprite(Image image)
イメージを指定してスプライトオブジェクトを生成します。 |
|
Sprite(Image image,
int x,
int y,
int width,
int height)
イメージの一部を指定してスプライトオブジェクトを生成します。 |
| メソッドの概要 | |
int |
getHeight()
スプライトの高さを取得します。 |
int |
getWidth()
スプライトの幅を取得します。 |
int |
getX()
スプライトを表示する位置の X 座標を取得します。 |
int |
getY()
スプライトを表示する位置の Y 座標を取得します。 |
boolean |
isVisible()
スプライトが可視かどうかを取得します。 |
void |
setFlipMode(int flipMode)
スプライトを反転表示するかどうか設定します。 |
void |
setImage(Image image)
スプライトのイメージを設定します。 |
void |
setImage(Image image,
int x,
int y,
int width,
int height)
スプライトのイメージを設定します。 |
void |
setLocation(int x,
int y)
スプライトを表示する位置を設定します。 |
void |
setRotation(int[] lt)
スプライトを表示する際の 2 次元の線形変換の行列を設定します。 |
void |
setVisible(boolean b)
スプライトが可視かどうかを設定します。 |
| クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
protected Sprite()
public Sprite(Image image)
image - イメージを指定します。
NullPointerException -
引数 image に null が指定された場合に発生します。
UIException -
引数 image に既に dispose されているイメージが指定された場合に発生します(ILLEGAL_STATE)。
public Sprite(Image image,
int x,
int y,
int width,
int height)
イメージの一部を指定してスプライトオブジェクトを生成します。 デフォルトでは表示位置(0, 0)の可視状態に初期化されます。
引数 width や height に 0 を指定することができますが、 その状態ではスプライトを描画しても何も描画されません。
image - イメージを指定します。x - スプライトとして使用するイメージの一部の矩形の左上の X 座標を指定します。y - スプライトとして使用するイメージの一部の矩形の左上の Y 座標を指定します。width - スプライトとして使用するイメージの一部の矩形の幅を指定します。height - スプライトとして使用するイメージの一部の矩形の高さを指定します。
NullPointerException -
引数 image に null が指定された場合に発生します。
IllegalArgumentException -
引数 width, height のどちらかまたは両方に 0 未満の値が指定された場合に発生します。
UIException -
引数 image に既に dispose されているイメージが指定された場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException -
引数 x, y, width, height で指定された矩形領域が引数 image で指定されたイメージの領域外にはみ出している場合に発生します。
| メソッドの詳細 |
public void setImage(Image image)
image - イメージを指定します。
NullPointerException -
引数 image に null が指定された場合に発生します。
UIException -
引数 image に既に dispose されているイメージが指定された場合に発生します(ILLEGAL_STATE)。
public void setImage(Image image,
int x,
int y,
int width,
int height)
スプライトのイメージを設定します。
引数 width や height に 0 を指定することができますが、 その状態ではスプライトを描画しても何も描画されません。
image - イメージを指定します。x - スプライトとして使用するイメージの一部の矩形の左上の X 座標を指定します。y - スプライトとして使用するイメージの一部の矩形の左上の Y 座標を指定します。width - スプライトとして使用するイメージの一部の矩形の幅を指定します。height - スプライトとして使用するイメージの一部の矩形の高さを指定します。
NullPointerException -
引数 image に null が指定された場合に発生します。
IllegalArgumentException -
引数 width, height のどちらかまたは両方に 0 未満の値が指定された場合に発生します。
UIException -
引数 image に既に dispose されているイメージが指定された場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException -
引数 x, y, width, height で指定された矩形領域が引数 image で指定されたイメージの領域外にはみ出している場合に発生します。
public int getWidth()
スプライトの幅を取得します。
Sprite(Image),
setImage(Image) でイメージが設定された場合はイメージの幅が、
Sprite(Image, int, int, int, int),
setImage(Image, int, int, int, int) でイメージが設定された場合は引数で指定された矩形領域の幅が、
スプライトの幅となります。
これは、SpriteSet での衝突判定の対象となる矩形領域の幅と一致します。
public int getHeight()
スプライトの高さを取得します。
Sprite(Image),
setImage(Image) でイメージが設定された場合はイメージの高さが、
Sprite(Image, int, int, int, int),
setImage(Image, int, int, int, int) でイメージが設定された場合は引数で指定された矩形領域の高さが、
スプライトの高さとなります。
これは、SpriteSet での衝突判定の対象となる矩形領域の高さと一致します。
public void setLocation(int x,
int y)
スプライトを表示する位置を設定します。
x - 表示する位置の X 座標を指定します。y - 表示する位置の Y 座標を指定します。public int getX()
スプライトを表示する位置の X 座標を取得します。
public int getY()
public void setVisible(boolean b)
スプライトが可視かどうかを設定します。
不可視に設定されたスプライトは、描画や衝突判定の対象となりません。
b - 可視にする場合は true を、不可視にする場合は false を指定します。public boolean isVisible()
スプライトが可視かどうかを取得します。
public void setFlipMode(int flipMode)
スプライトを反転表示するかどうか設定します。
デフォルトでは Graphics.FLIP_NONE に設定されています。
setRotation(int[]) メソッドによって 2 次元の線形変換の行列が設定されている場合は、
このメソッドによる設定は無効になります。
flipMode - 反転モードを指定します。
Graphics.FLIP_NONE,
Graphics.FLIP_HORIZONTAL,
Graphics.FLIP_VERTICAL,
Graphics.FLIP_ROTATE,
Graphics.FLIP_ROTATE_LEFT,
Graphics.FLIP_ROTATE_RIGHT,
Graphics.FLIP_ROTATE_RIGHT_HORIZONTAL,
Graphics.FLIP_ROTATE_RIGHT_VERTICAL
のいずれかを指定します。
IllegalArgumentException -
引数 flipMode に不正な値が指定された場合に発生します。
public void setRotation(int[] lt)
スプライトを表示する際の 2 次元の線形変換の行列を設定します。
このメソッドによって線形変換の行列の設定が行われた場合は、
スプライトの矩形の中心を原点として線形変換を行った後に
setLocation(int, int) メソッドによって設定された位置に表示します。
その際、setFlipMode(int) メソッドによる反転表示の設定は無効になります。
デフォルトでは線形変換の行列は設定されていません。
線形変換の行列の設定を行った後に設定を無効にするには、
引数に null を指定してこのメソッドを呼び出します。
スプライトオブジェクトに設定されたイメージオブジェクトの
(sx, sy) - (sx + swidth, sy + sheight) の矩形領域をスプライトとして扱うとき、
イメージ上のその矩形領域内の座標 (x, y) の画素は、
setLocation(int, int) メソッドによって設定された表示位置を (dx, dy) とすると、
以下のような行列演算によって求められる座標 (x', y') に描画されます。
[ x'] 1 [ m00 m01 0 ] [ x - (sx + swidth / 2) ] [ dx + swidth / 2 ] [ y'] = ------ [ m10 m11 0 ] [ y - (sy + sheight / 2) ] + [ dy + sheight / 2 ] [ 1 ] 4096 [ 0 0 4096 ] [ 1 ] [ 0 ]このメソッドの引数には m00〜m11 の四つの要素の値を指定します。
このメソッドでは内部で引数に渡された配列の値をコピーする処理が行われるため、 線形変換の行列の設定後に引数に渡された配列の値を書換えても、 変更は反映されません。
lt - 2次元の線形変換の行列の要素を指定します。
int 配列の先頭から順に m00, m01, m10, m11 の値を設定します。
配列の長さが 5 以上の場合、第 4 要素以降の値は無視されます。
ArrayIndexOutOfBoundsException -
引数 lt の長さが 4 未満の場合に発生します。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||