kinugasa.object
クラス CompositeSprite

java.lang.Object
  上位を拡張 kinugasa.object.Sprite
      上位を拡張 kinugasa.object.CompositeSprite
すべての実装されたインタフェース:
java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Sprite>, Drawable, Shapeable

public final class CompositeSprite
extends Sprite

Kinugasa : CompositeSprite : .

バージョン:
1.0.0 - 2013/01/14_20:45:45
作成者:
Dra0211
関連項目:
直列化された形式

フィールドの概要
private static long serialVersionUID
           
private  java.util.ArrayList<Sprite> sprites
          この複合スプライトが持つスプライトのリストです.
 
コンストラクタの概要
CompositeSprite()
          新しい複合スプライトを作成します.
CompositeSprite(java.util.List<Sprite> spr)
          新しい複合スプライトを作成します.
CompositeSprite(Sprite... spr)
          新しい複合スプライトを作成します.
 
メソッドの概要
 void add(Sprite spr)
          この複合スプライトに新しいスプライトを追加します.
 void addAll(java.util.List<Sprite> spr)
          この複合スプライトに新しいスプライトを追加します.
 void addAll(Sprite... spr)
          この複合スプライトに新しいスプライトを追加します.
private  void checkInstance(java.util.List<CompositeSprite> parents, java.util.List<Sprite> sprites)
          複合スプライトに追加されているスプライトの依存関係を調査します.
 void clear()
          スプライトリスト内のすべてのスプライトを削除します.
 CompositeSprite clone()
          このスプライトの複製を作成します.
 boolean contains(Sprite spr)
          指定したスプライトがこの複合スプライトに含まれているかを検査します.
private  void deepSort(java.util.List<Sprite> sprs, java.util.Comparator<Sprite> sortMode)
          スプライトリストを再帰的にソートします.
 void draw(java.awt.Graphics2D g)
          追加されているすべてのスプライトをその順序で描画します.
 void draw(java.awt.Graphics2D g, java.util.Comparator<Sprite> sortMode)
          追加されているすべてのスプライトをソートしてから描画します.
 Sprite getSprite(int idx)
          スプライトリストの指定したインデックスに格納されているスプライトを取得します.
 java.util.List<Sprite> getSprites()
          この複合スプライトが持つスプライトリストを取得します.
 void remove(Sprite spr)
          指定したスプライトが、この複合スプライトに含まれている場合、そのスプライトをこの複合スプライトから削除します.
 void removeAll(java.util.List<Sprite> spr)
          指定したスプライトが、この複合スプライトに含まれている場合、そのスプライトをこの複合スプライトから削除します.
 void removeAll(Sprite... spr)
          指定したスプライトが、この複合スプライトに含まれている場合、そのスプライトをこの複合スプライトから削除します.
 void setBounds(java.awt.geom.Rectangle2D.Float bounds)
          このスプライトの領域を設定します.
 void setExist(boolean exist)
          スプライトの生存状態を設定します.
 void setHeight(float height)
          このスプライトの高さを設定します.
 void setLocation(float x, float y)
          スプライトの左上の位置を設定します.
 void setLocation(java.awt.geom.Point2D.Float location)
          スプライトの左上の位置を設定します.
 void setSize(java.awt.Dimension size)
          スプライトのサイズを取得します.
 void setSize(float w, float h)
          スプライトのサイズを取得します.
 void setVisible(boolean visible)
          スプライトの可視状態を設定します.
 void setWidth(float width)
          このスプライトの幅を設定します.
 void setX(float x)
          このスプライトの左上のX座標を設定します.
 void setY(float y)
          このスプライトの左上のY座標を設定します.
 void setZ(float z)
          このスプライトのZ深度を設定します.
 void setZ(float z, int idx)
          スプライトリストの要素idx番目のスプライトのZ軸座標を設定します.
 int size()
          この複合スプライトが持つスプライトの数を取得します.
 void sort()
          スプライトリストをソートします.
 void sort(java.util.Comparator<Sprite> sortMode)
          スプライトリストをソートします.
 void sortZ(float minZ, float maxZ)
          スプライトリスト内のすべてのスプライトを、その順序でZ軸座標に並べます.
 
クラス kinugasa.object.Sprite から継承されたメソッド
compareTo, contains, getBounds, getCenter, getCenterX, getCenterY, getHeight, getHitBounds, getLocation, getPersonalCenter, getPersonalCenterX, getPersonalCenterY, getSize, getStatus, getWidth, getX, getY, getZ, isExist, isVisible, setBounds, setBounds, setStatus, toString, update, updateCenter, updatePersonalCenter
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

serialVersionUID

private static final long serialVersionUID
関連項目:
定数フィールド値

sprites

private java.util.ArrayList<Sprite> sprites
この複合スプライトが持つスプライトのリストです.

コンストラクタの詳細

CompositeSprite

public CompositeSprite()
新しい複合スプライトを作成します. このコンストラクタでは、スプライトリストの初期容量は0になります。


CompositeSprite

public CompositeSprite(Sprite... spr)
新しい複合スプライトを作成します.

パラメータ:
spr - 複合スプライトに追加するスプライトを指定します。

CompositeSprite

public CompositeSprite(java.util.List<Sprite> spr)
新しい複合スプライトを作成します.

パラメータ:
spr - 複合スプライトに追加するスプライトを指定します。
メソッドの詳細

add

public void add(Sprite spr)
         throws java.lang.IllegalArgumentException
この複合スプライトに新しいスプライトを追加します. 新しいスプライトはスプライトリストの最後尾に追加されます。
Z軸座標は自動調整されません。

パラメータ:
spr - 追加するスプライトを指定します。
例外:
java.lang.IllegalArgumentException - 追加するスプライトがthisのとき、または、追加するスプライトがCompositeSpriteで その複合スプライトが保持するスプライトリスト内にthisまたは親のスプライトがある場合に投げられます。
複合スプライトの親がその複合スプライトが持つすべての子の親と循環参照になっているかのチェックは 新しいスプライトを追加するたびに再帰的に行われます。

addAll

public void addAll(Sprite... spr)
            throws java.lang.IllegalArgumentException
この複合スプライトに新しいスプライトを追加します. 新しいスプライトはスプライトリストの最後尾に指定された順序で追加されます。
Z軸座標は自動調整されません。

パラメータ:
spr - 追加するスプライトを指定します。
例外:
java.lang.IllegalArgumentException - 追加するスプライトにthisが含まれるとき、または、追加するスプライトがCompositeSpriteで その複合スプライトが保持するスプライトリスト内にthisまたは親のスプライトがある場合に投げられます。
複合スプライトの親がその複合スプライトが持つすべての子の親と循環参照になっているかのチェックは 新しいスプライトを追加するたびに再帰的に行われます。

addAll

public void addAll(java.util.List<Sprite> spr)
            throws java.lang.IllegalArgumentException
この複合スプライトに新しいスプライトを追加します. 新しいスプライトはスプライトリストの最後尾に指定された順序で追加されます。
Z軸座標は自動調整されません。

パラメータ:
spr - 追加するスプライトを指定します。
例外:
java.lang.IllegalArgumentException - 追加するスプライトにthisが含まれるとき、または、追加するスプライトがCompositeSpriteで その複合スプライトが保持するスプライトリスト内にthisまたは親のスプライトがある場合に投げられます。
複合スプライトの親がその複合スプライトが持つすべての子の親と循環参照になっているかのチェックは 新しいスプライトを追加するたびに再帰的に行われます。

remove

public void remove(Sprite spr)
指定したスプライトが、この複合スプライトに含まれている場合、そのスプライトをこの複合スプライトから削除します.

パラメータ:
spr - 削除するスプライトを指定します。

removeAll

public void removeAll(Sprite... spr)
指定したスプライトが、この複合スプライトに含まれている場合、そのスプライトをこの複合スプライトから削除します.

パラメータ:
spr - 削除するスプライトを指定します。

removeAll

public void removeAll(java.util.List<Sprite> spr)
指定したスプライトが、この複合スプライトに含まれている場合、そのスプライトをこの複合スプライトから削除します.

パラメータ:
spr - 削除するスプライトを指定します。

contains

public boolean contains(Sprite spr)
指定したスプライトがこの複合スプライトに含まれているかを検査します.

パラメータ:
spr - 検査するスプライトを指定します。
戻り値:
sprがこの複合スプライトのスプライトリストに含まれている場合true、そうでない場合falseを返します。

sortZ

public void sortZ(float minZ,
                  float maxZ)
           throws java.lang.IllegalArgumentException
スプライトリスト内のすべてのスプライトを、その順序でZ軸座標に並べます.

パラメータ:
minZ - リストの0番目に設定されるz座標を指定します。
maxZ - リストの最後の要素に設定されるz座標を指定します。
例外:
java.lang.IllegalArgumentException - minZ > maxZのときに投げられます。

clear

public void clear()
スプライトリスト内のすべてのスプライトを削除します.


getSprites

public java.util.List<Sprite> getSprites()
この複合スプライトが持つスプライトリストを取得します. リストは参照を保持します。リストに対する操作は複合スプライトに適用されます。

戻り値:
この複合スプライトのスプライトリストが返されます。

getSprite

public Sprite getSprite(int idx)
                 throws java.lang.IndexOutOfBoundsException
スプライトリストの指定したインデックスに格納されているスプライトを取得します.

パラメータ:
idx - 取得するスプライトのインデックスを指定します.
戻り値:
指定したインデックスのスプライトが返されます.
例外:
java.lang.IndexOutOfBoundsException - 不正なインデックスの場合に投げられます。

size

public int size()
この複合スプライトが持つスプライトの数を取得します.

戻り値:
スプライトリストの要素数を返します。

checkInstance

private void checkInstance(java.util.List<CompositeSprite> parents,
                           java.util.List<Sprite> sprites)
                    throws java.lang.IllegalArgumentException
複合スプライトに追加されているスプライトの依存関係を調査します. このメソッドは再帰的に呼び出されます。

パラメータ:
parents - 検出されたすべての複合スプライトが格納されているリストです。
このリストにはthisを含みます。
sprites - 検出されたすべてのスプライトが格納されているリストです。
このリストには複合スプライトも含まれています。
例外:
java.lang.IllegalArgumentException - スプライトの依存関係に循環参照が発見されたときに投げられます。

draw

public void draw(java.awt.Graphics2D g)
追加されているすべてのスプライトをその順序で描画します. このメソッドでは、この複合スプライトの可視状態と生存状態が考慮されます。
各スプライトは、それぞれの可視状態と生存状態および座標が使用されます。

定義:
インタフェース Drawable 内の draw
定義:
クラス Sprite 内の draw
パラメータ:
g - 書き込むグラフィックスコンテキストを送信します。

draw

public void draw(java.awt.Graphics2D g,
                 java.util.Comparator<Sprite> sortMode)
追加されているすべてのスプライトをソートしてから描画します. このメソッドでは、この複合スプライトの可視状態と生存状態が考慮されます。
各スプライトは、それぞれの可視状態と生存状態および座標が使用されます。
このメソッドでは、スプライトリスト内に複合スプライトが存在する場合は、 その複合スプライトを再帰的にソートします。

パラメータ:
g - 書き込むグラフィックスコンテキストを送信します。
sortMode - ソート方法を指定します。SpriteSortModeを指定できます。

sort

public void sort(java.util.Comparator<Sprite> sortMode)
スプライトリストをソートします. このメソッドでは、スプライトリスト内に複合スプライトが存在する場合は、 その複合スプライトを再帰的にソートします。

パラメータ:
sortMode - ソート方法を指定します。SpriteSortModeを指定できます。

sort

public void sort()
スプライトリストをソートします. このメソッドでは、SpriteSortModeのBACK_TO_FRONTが使用されます。
このメソッドでは、スプライトリスト内に複合スプライトが存在する場合は、 その複合スプライトを再帰的にソートします。


deepSort

private void deepSort(java.util.List<Sprite> sprs,
                      java.util.Comparator<Sprite> sortMode)
スプライトリストを再帰的にソートします. このメソッドでは、スプライトリスト内に複合スプライトが存在する場合は、 その複合スプライトを再帰的にソートします。
このメソッドは再帰的に処理されます。

パラメータ:
sprs - ソートするスプライトリストを指定します。
sortMode - ソート方法を指定します。SpriteSortModeを指定できます。

setVisible

public void setVisible(boolean visible)
クラス Sprite の記述:
スプライトの可視状態を設定します.

オーバーライド:
クラス Sprite 内の setVisible
パラメータ:
visible - スプライトの可視状態.

setExist

public void setExist(boolean exist)
クラス Sprite の記述:
スプライトの生存状態を設定します.

オーバーライド:
クラス Sprite 内の setExist
パラメータ:
exist - 生存状態.

setZ

public void setZ(float z)
クラス Sprite の記述:
このスプライトのZ深度を設定します.

オーバーライド:
クラス Sprite 内の setZ
パラメータ:
z - 深度.

setZ

public void setZ(float z,
                 int idx)
          throws java.lang.IndexOutOfBoundsException
スプライトリストの要素idx番目のスプライトのZ軸座標を設定します.

パラメータ:
z - 設定する座標を指定します。
idx - Z座標を設定するスプライトのインデックスを指定します。
例外:
java.lang.IndexOutOfBoundsException - 不正なインデックスの場合に投げられます。

setX

public void setX(float x)
クラス Sprite の記述:
このスプライトの左上のX座標を設定します.

オーバーライド:
クラス Sprite 内の setX
パラメータ:
x - X座標.

setY

public void setY(float y)
クラス Sprite の記述:
このスプライトの左上のY座標を設定します.

オーバーライド:
クラス Sprite 内の setY
パラメータ:
y - Y座標.

setWidth

public void setWidth(float width)
クラス Sprite の記述:
このスプライトの幅を設定します.

オーバーライド:
クラス Sprite 内の setWidth
パラメータ:
width - 幅.

setHeight

public void setHeight(float height)
クラス Sprite の記述:
このスプライトの高さを設定します.

オーバーライド:
クラス Sprite 内の setHeight
パラメータ:
height - 高さ.

setLocation

public void setLocation(java.awt.geom.Point2D.Float location)
クラス Sprite の記述:
スプライトの左上の位置を設定します.

オーバーライド:
クラス Sprite 内の setLocation
パラメータ:
location - 左上の位置.

setLocation

public void setLocation(float x,
                        float y)
クラス Sprite の記述:
スプライトの左上の位置を設定します.

オーバーライド:
クラス Sprite 内の setLocation
パラメータ:
x - X座標.
y - Y座標.

setSize

public void setSize(float w,
                    float h)
クラス Sprite の記述:
スプライトのサイズを取得します.

オーバーライド:
クラス Sprite 内の setSize
パラメータ:
w - スプライトの幅.
h - スプライトの高さ.

setSize

public void setSize(java.awt.Dimension size)
クラス Sprite の記述:
スプライトのサイズを取得します. サイズはint精度に丸められます.

オーバーライド:
クラス Sprite 内の setSize
パラメータ:
size - スプライトのサイズ.

setBounds

public void setBounds(java.awt.geom.Rectangle2D.Float bounds)
クラス Sprite の記述:
このスプライトの領域を設定します.

オーバーライド:
クラス Sprite 内の setBounds
パラメータ:
bounds - スプライトの領域.

clone

public CompositeSprite clone()
クラス Sprite の記述:
このスプライトの複製を作成します. このメソッドでは、全てのフィールドをクローニングします.
このメソッドはサブクラスで適切にオーバーライドしてください.

オーバーライド:
クラス Sprite 内の clone
戻り値:
このスプライトと同じ設定の新しいインスタンス.