com.nttdocomo.opt.ui
クラス SpriteSet

java.lang.Object
  |
  +--com.nttdocomo.opt.ui.SpriteSet

public class SpriteSet
extends java.lang.Object

複数のスプライトオブジェクトを保持して管理するクラスを定義します。 スプライトの表示や衝突判定を行うために使用します。
スプライトセットを描画する場合は、イメージが設定されていて、かつ可視なスプライトだけが描画されます。
衝突判定は、スプライトオブジェクトの配列の先頭から 32 個のスプライトのみが対象となります。 衝突判定は、スプライトが持つイメージの矩形で行われます。 イメージオブジェクトを持たないスプライトや破棄されたイメージオブジェクトを持つスプライト、可視でないスプライトは衝突判定の対象になりません。 同じスプライト同士の衝突判定を行った場合は、常に衝突していないものとして結果が返されます。

端末によってサポートされていない場合があります。未サポートの場合、メソッドが呼び出された時点でUnsupportedOperationExceptionを発生します。

導入されたバージョン:
DoJa-2.0

コンストラクタの概要
SpriteSet(Sprite[] sprites)
           スプライトオブジェクトの配列を指定してスプライトセットを生成します。
 
メソッドの概要
 int getCollisionFlag(int index)
           スプライトの衝突判定フラグを取得します。
 int getCount()
           スプライトの数を取得します。
 Sprite getSprite(int index)
           コンストラクタで指定されたスプライトオブジェクト配列のindex番目のスプライトオブジェクトの参照を取得します。
 Sprite[] getSprites()
           スプライトの配列を取得します。
 boolean isCollision(int index1, int index2)
           特定のスプライトの衝突判定を行います。
 void setCollisionAll()
           すべてのスプライトの相互衝突判定を行います。
 void setCollisionOf(int index)
           一個のスプライトの相互衝突判定を行います。
 
クラス java.lang.Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SpriteSet

public SpriteSet(Sprite[] sprites)
スプライトオブジェクトの配列を指定してスプライトセットを生成します。 配列のインデックス値が大きいほど優先順位が高くなります(すなわち、手前に表示されます)。 スプライトセットオブジェクトは、引数で渡されたスプライトオブジェクトの配列の参照を保持します。 引数で渡された配列の要素を変更するとスプライトも変更されます。
パラメータ:
sprites - スプライトオブジェクトの配列を指定します。
例外:
NullPointerException - 引数 sprites に null が指定された場合に発生します。
IllegalArgumentException - 引数spritesの要素数が0の場合や要素数が32より大きい場合に発生します。
メソッドの詳細

getCount

public int getCount()
スプライトの数を取得します。
戻り値:
スプライトの数を返します。

getSprites

public Sprite[] getSprites()
スプライトの配列を取得します。
戻り値:
スプライトの配列を返します。

getSprite

public Sprite getSprite(int index)
コンストラクタで指定されたスプライトオブジェクト配列のindex番目のスプライトオブジェクトの参照を取得します。
パラメータ:
index - 取得するスプライトのインデックスを指定します。
戻り値:
指定されたインデックスのスプライトを返します。
例外:
ArrayIndexOutOfBoundsException - 引数 index に負の値またはスプライトの個数以上の値が指定された場合に発生します。

setCollisionAll

public void setCollisionAll()
すべてのスプライトの相互衝突判定を行います。 すべてのスプライトに対して setCollisionOf メソッドを呼び出した場合と同じです。
例外:
NullPointerException - コンストラクタで指定されたスプライトオブジェクトの配列の要素(スプライトオブジェクト)にnullがある場合に発生します。
関連項目:
setCollisionOf(int)

setCollisionOf

public void setCollisionOf(int index)
一個のスプライトの相互衝突判定を行います。 指定されたスプライトが他のスプライトと衝突しているかどうかをチェックして、 判定結果のフラグを保持します。 判定結果は getCollisionFlag メソッドで取り出します。 フラグは、それぞれのスプライト番号に対応するビットが、衝突している場合は 1 に、衝突していない場合は 0 に設定されます。 イメージオブジェクトを持たないスプライトや破棄されたイメージオブジェクトを持つスプライト、可視でないスプライトは衝突判定の対象になりません。 引数indexで指定されたスプライトに対する衝突判定のフラグのみ更新されます。(指定外のスプライトに対する衝突判定のフラグは更新されません)
パラメータ:
index - 衝突判定を行なうスプライトのインデックス
例外:
NullPointerException - コンストラクタで指定されたスプライトオブジェクトの配列の要素(スプライトオブジェクト)にnullがある場合に発生します。
ArrayIndexOutOfBoundsException - 引数 index に負の値またはスプライトの個数以上の値が指定された場合に発生します。
関連項目:
setCollisionAll()

isCollision

public boolean isCollision(int index1,
                           int index2)
特定のスプライトの衝突判定を行います。 引数で指定された二つのスプライトが衝突しているかどうかをチェックします。 スプライトオブジェクトの flags は変化しません。 本メソッドを呼び出す前にsetCollisonAllメソッドもしくはsetCollisionOfメソッドを呼び出す必要があります。
パラメータ:
index1 - 衝突判定を行うスプライトのインデックスを指定します。
index2 - 衝突判定を行うスプライトのインデックスを指定します。
戻り値:
スプライトが衝突している場合は true を、衝突していない場合は false を返します。 ただし、同じスプライトが指定された場合は false を返します。
例外:
ArrayIndexOutOfBoundsException - 引数 index に負の値またはスプライトの個数以上の値が指定された場合に発生します。
関連項目:
setCollisionAll(), setCollisionOf(int)

getCollisionFlag

public int getCollisionFlag(int index)
スプライトの衝突判定フラグを取得します。 衝突判定フラグの n 番目のビット(1 << n)が 1 であればインデックス値が n のスプライトと衝突していることを、 ビットが 0 であれば衝突していないことを表します。
パラメータ:
index - 衝突フラグを取得するスプライトのインデックスを指定します。
戻り値:
指定されたスプライトの衝突判定フラグを返します。
例外:
ArrayIndexOutOfBoundsException - 引数 index に負の値またはスプライトの個数以上の値が指定された場合に発生します。


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」はNTTドコモの商標です。