概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## kinugasa.object
クラス CompositeSprite

    java.lang.Object
      kinugasa.object.Sprite
          kinugasa.object.BasicSprite
              kinugasa.object.CompositeSprite

すべての実装されたインタフェース:
  java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Sprite>, Controllable, Drawable, Shapeable

直系の既知のサブクラス:
  ObjectLayerSprite

    public class CompositeSprite

extends BasicSprite

複数のスプライトをまとめて描画したり、ソートできるクラスです.
このクラスのことを"複合スプライト"と呼びます。

バージョン:
  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` | `setAngle(float angle)`
`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` | `setMovingModel(MovingModel movingModel)` 移動モデルを設定します.
`void` | `setSize(java.awt.Dimension size)` スプライトのサイズを取得します.
`void` | `setSize(float w, float h)` スプライトのサイズを取得します.
`void` | `setSpeed(float speed)`
`void` | `setVector(VectorF vector)`
`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軸座標に並べます.
`
`<T extends Sprite> java.util.List<Sprite>`
` | `subList(java.lang.Class<T> type)` スプライトの実装でフィルタリングし、サブリストを作成します.
`java.lang.String` | `toString()` スプライトの文字列表記を取得します.

クラス kinugasa.object.BasicSprite から継承されたメソッド
`getAngle, getMovingModel, getMovingModel, getNextCenter, getNextLocation, getSpeed, getVector, move, move, move, move`

クラス 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, 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`
  定義:
    クラス `BasicSprite` 内の `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` - スプライトの領域.

### setAngle

    public void setAngle(float angle)

  オーバーライド:
    クラス `BasicSprite` 内の `setAngle`

### setMovingModel

    public void setMovingModel(MovingModel movingModel)

  クラス `BasicSprite` の記述:
  移動モデルを設定します.

  オーバーライド:
    クラス `BasicSprite` 内の `setMovingModel`
  パラメータ:
    `movingModel` - 移動モデル.

### setVector

    public void setVector(VectorF vector)

  オーバーライド:
    クラス `BasicSprite` 内の `setVector`

### setSpeed

    public void setSpeed(float speed)

  オーバーライド:
    クラス `BasicSprite` 内の `setSpeed`

### subList

    public <T extends Sprite> java.util.List<Sprite> subList(java.lang.Class<T> type)

  スプライトの実装でフィルタリングし、サブリストを作成します.

  型パラメータ:
    `T` - スプライトの拡張クラスを指定します。
  パラメータ:
    `type` - 検索する型を指定します。
  戻り値:
    指定した型の要素を新しいリストに格納して返します。順番は この複合スプライトに格納されている”発見された順番”です。

### clone

    public CompositeSprite clone()

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

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

### toString

    public java.lang.String toString()

  クラス `BasicSprite` の記述:
  スプライトの文字列表記を取得します. 文字列にはスプライトのフィールド情報が含まれています.これらの値はすべてアクセサを通して取得可能です.

  オーバーライド:
    クラス `BasicSprite` 内の `toString`
  戻り値:
    スプライトの情報.

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド