kinugasa.object

## クラス Sprite

- java.lang.Object
- - kinugasa.object.Sprite

- すべての実装されたインタフェース:
    java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Sprite>, Nameable, Drawable, Shapeable
  直系の既知のサブクラス:
    BasicSprite

      public abstract class Sprite
      extends java.lang.Object
      implements Drawable, Shapeable, java.lang.Cloneable, java.lang.Comparable<Sprite>, java.io.Serializable, Nameable

  ゲームに表示される自機やキャラクタの基底クラスです.
  スプライトのすべてのサブクラスでは、クローンを適切にオーバーライドする必要があります。
  関連項目:
    直列化された形式

- - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `Sprite()` 新しいスプライトを作成します.
    `Sprite(float x, float y, float w, float h)` 位置およびサイズを指定してスプライトを作成します.
    `Sprite(float x, float y, float w, float h, float z)` 位置およびサイズを指定してスプライトを作成します.

  - ### メソッドのサマリー

    All Methods Instance Methods Abstract Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `Sprite` | `clone()` このスプライトの複製を作成します.
    `int` | `compareTo(Sprite spr)` スプライトの深度を比較し、z軸座標の昇順に並び替える機能を提供します.
    `boolean` | `contains(java.awt.geom.Point2D point)`
    `abstract void` | `draw(java.awt.Graphics2D g)` スプライトを描画します. visibleまたはexistがfalseのとき、描画してはなりません.
    `java.awt.geom.Rectangle2D.Float` | `getBounds()` このスプライトの領域を取得します.
    `java.awt.geom.Point2D.Float` | `getCenter()` スプライトの中心の座標を取得します.
    `float` | `getCenterX()` スプライトの中心のX座標を取得します.
    `float` | `getCenterY()` スプライトの中心のY座標を取得します.
    `float` | `getHeight()` このスプライトの高さを取得します.
    `java.awt.geom.Rectangle2D.Float` | `getHitBounds()` このスプライトの”当たり判定”の領域を返します.
    `java.awt.geom.Point2D.Float` | `getLocation()` スプライトの左上の位置を取得します.
    `java.lang.String` | `getName()` このインスタンスの一意的な名前を取得します.
    `java.awt.geom.Point2D.Float` | `getPersonalCenter()` スプライトの中心の相対座標を取得します.
    `float` | `getPersonalCenterX()` スプライトの中心の相対的なX座標を取得します.
    `float` | `getPersonalCenterY()` スプライトの中心の相対的なY座標を取得します.
    `java.awt.Dimension` | `getSize()` スプライトのサイズを取得します.
    `float` | `getWidth()` このスプライトの幅を取得します.
    `float` | `getX()` このスプライトの左上のX座標を取得します.
    `float` | `getY()` このスプライトの左上のY座標を取得します.
    `float` | `getZ()` このスプライトのZ深度を取得します.
    `boolean` | `isExist()` スプライトの生存状態を取得します.
    `boolean` | `isVisible()` スプライトの可視状態を取得します.
    `void` | `setBounds(float x, float y, float width, float height)` このスプライトの領域を設定します.
    `void` | `setBounds(java.awt.geom.Point2D.Float location, float width, float height)` このスプライトの領域を設定します.
    `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` | `setName(java.lang.String name)`
    `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深度を設定します.
    `java.lang.String` | `toString()`
    `void` | `update()` スプライトの様々なプロパティを更新します.
    `protected void` | `updateCenter()` 中心座標のキャッシュを更新します.
    `protected void` | `updatePersonalCenter()` 中心座標のキャッシュを更新します.

    - ### クラスから継承されたメソッド java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### Sprite

          public Sprite()

      新しいスプライトを作成します. 全てのフィールドが初期化されます.

    - #### Sprite

          public Sprite(float x,
                        float y,
                        float w,
                        float h)

      位置およびサイズを指定してスプライトを作成します.
      パラメータ:
        `x` - X座標.
        `y` - Y座標.
        `w` - 幅.
        `h` - 高さ.

    - #### Sprite

          public Sprite(float x,
                        float y,
                        float w,
                        float h,
                        float z)

      位置およびサイズを指定してスプライトを作成します.
      パラメータ:
        `x` - X座標.
        `y` - Y座標.
        `w` - 幅.
        `h` - 高さ.
        `z` - z座標.

  - ### メソッドの詳細

    - #### updateCenter

          protected final void updateCenter()

      中心座標のキャッシュを更新します.

    - #### updatePersonalCenter

          protected final void updatePersonalCenter()

      中心座標のキャッシュを更新します.

    - #### draw

          public abstract void draw(java.awt.Graphics2D g)

      スプライトを描画します. visibleまたはexistがfalseのとき、描画してはなりません.
      定義:
        `draw` インタフェース内 `Drawable`
      パラメータ:
        `g` - グラフィックスコンテキスト.

    - #### update

          public void update()

      スプライトの様々なプロパティを更新します. このメソッドは、オーバーライドしない限り、何も行いません。
      移動とは別に、状態を更新する必要がある場合、オーバーライドすることで 処理を定義できます。

    - #### getBounds

          public java.awt.geom.Rectangle2D.Float getBounds()

      このスプライトの領域を取得します. このメソッドではクローンが返されます.
      戻り値:
        スプライトの領域.

    - #### getHitBounds

          public java.awt.geom.Rectangle2D.Float getHitBounds()

      このスプライトの”当たり判定”の領域を返します. このメソッドはスプライトが他のスプライトを衝突しているか検査する場合に スプライトを包含する矩形と論理的な衝突状態を区別するために設けられています。
      このメソッドはデフォルトでは、getBounds()と同じ値を返します。
      このメソッドを使用する場合は適切にオーバーライドしてください。
      戻り値:
        スプライトの”当たり判定”の領域を返します。オーバーライドしない場合はgetBounds()を返します。

    - #### setBounds

          public void setBounds(java.awt.geom.Rectangle2D.Float bounds)

      このスプライトの領域を設定します.
      パラメータ:
        `bounds` - スプライトの領域.

    - #### setBounds

          public void setBounds(java.awt.geom.Point2D.Float location,
                                float width,
                                float height)

      このスプライトの領域を設定します.
      パラメータ:
        `location` - 位置を指定します。
        `width` - 幅です。
        `height` - 高さです。

    - #### setBounds

          public void setBounds(float x,
                                float y,
                                float width,
                                float height)

      このスプライトの領域を設定します.
      パラメータ:
        `x` - X位置です。
        `y` - Y位置です。
        `width` - 幅です。
        `height` - 高さです。

    - #### contains

          public boolean contains(java.awt.geom.Point2D point)

      定義:
        `contains` インタフェース内 `Shapeable`

    - #### getLocation

          public java.awt.geom.Point2D.Float getLocation()

      スプライトの左上の位置を取得します. このメソッドは新しいインスタンスを返します.
      戻り値:
        左上の位置.

    - #### setLocation

          public void setLocation(java.awt.geom.Point2D.Float location)

      スプライトの左上の位置を設定します.
      パラメータ:
        `location` - 左上の位置.

    - #### setLocation

          public void setLocation(float x,
                                  float y)

      スプライトの左上の位置を設定します.
      パラメータ:
        `x` - X座標.
        `y` - Y座標.

    - #### getCenter

          public java.awt.geom.Point2D.Float getCenter()

      スプライトの中心の座標を取得します. このメソッドではクローンが返されます.
      戻り値:
        スプライトの中心の座標.ウインドウ上での絶対座標.

    - #### getCenterX

          public float getCenterX()

      スプライトの中心のX座標を取得します.
      戻り値:
        スプライトの中心のX座標。ウインドウ上での座標を返します。

    - #### getCenterY

          public float getCenterY()

      スプライトの中心のY座標を取得します.
      戻り値:
        スプライトの中心のY座標。ウインドウ上での座標を返します。

    - #### getPersonalCenterX

          public float getPersonalCenterX()

      スプライトの中心の相対的なX座標を取得します.
      戻り値:
        スプライトの中心のX座標。スプライトのサイズに対する中心の座標を返します。

    - #### getPersonalCenterY

          public float getPersonalCenterY()

      スプライトの中心の相対的なY座標を取得します.
      戻り値:
        スプライトの中心のY座標。スプライトのサイズに対する中心の座標を返します。

    - #### getPersonalCenter

          public java.awt.geom.Point2D.Float getPersonalCenter()

      スプライトの中心の相対座標を取得します. 相対中心座標とはスプライトの領域の左上からの中心までの距離です.
      このメソッドではクローンが返されます.
      戻り値:
        中心の相対座標.

    - #### getSize

          public java.awt.Dimension getSize()

      スプライトのサイズを取得します. サイズはint精度に丸められます.
      このメソッドは新しいインスタンスを返します.
      戻り値:
        スプライトのサイズ.

    - #### setSize

          public void setSize(java.awt.Dimension size)

      スプライトのサイズを取得します. サイズはint精度に丸められます.
      パラメータ:
        `size` - スプライトのサイズ.

    - #### setSize

          public void setSize(float w,
                              float h)

      スプライトのサイズを取得します.
      パラメータ:
        `w` - スプライトの幅.
        `h` - スプライトの高さ.

    - #### isExist

          public boolean isExist()

      スプライトの生存状態を取得します.
      戻り値:
        生存中の場合はtrueを返す.

    - #### setExist

          public void setExist(boolean exist)

      スプライトの生存状態を設定します.
      パラメータ:
        `exist` - 生存状態.

    - #### isVisible

          public boolean isVisible()

      スプライトの可視状態を取得します.
      戻り値:
        スプライトの可視状態.

    - #### setVisible

          public void setVisible(boolean visible)

      スプライトの可視状態を設定します.
      パラメータ:
        `visible` - スプライトの可視状態.

    - #### getX

          public float getX()

      このスプライトの左上のX座標を取得します.
      戻り値:
        X座標.

    - #### setX

          public void setX(float x)

      このスプライトの左上のX座標を設定します.
      パラメータ:
        `x` - X座標.

    - #### getY

          public float getY()

      このスプライトの左上のY座標を取得します.
      戻り値:
        Y座標.

    - #### setY

          public void setY(float y)

      このスプライトの左上のY座標を設定します.
      パラメータ:
        `y` - Y座標.

    - #### getWidth

          public float getWidth()

      このスプライトの幅を取得します.
      戻り値:
        幅.

    - #### setWidth

          public void setWidth(float width)

      このスプライトの幅を設定します.
      パラメータ:
        `width` - 幅.

    - #### getHeight

          public float getHeight()

      このスプライトの高さを取得します.
      戻り値:
        高さ.

    - #### setHeight

          public void setHeight(float height)

      このスプライトの高さを設定します.
      パラメータ:
        `height` - 高さ.

    - #### getZ

          public float getZ()

      このスプライトのZ深度を取得します.
      戻り値:
        深度.

    - #### setZ

          public void setZ(float z)

      このスプライトのZ深度を設定します.
      パラメータ:
        `z` - 深度.

    - #### getName

          public java.lang.String getName()

      インタフェースからコピーされた説明: `Nameable`
      このインスタンスの一意的な名前を取得します. 名前はゲームの実行中変更されてはなりません。
      定義:
        `getName` インタフェース内 `Nameable`
      戻り値:
        このインスタンスを識別できる一意的な名前を返します。名前はユーザやプレイヤーが指定する可能性があるため 意味のある文字列を推奨します。

    - #### setName

          public void setName(java.lang.String name)

    - #### clone

          public Sprite clone()

      このスプライトの複製を作成します. このメソッドでは、全てのフィールドをクローニングします.
      このメソッドはサブクラスで適切にオーバーライドしてください.
      オーバーライド:
        `clone` クラス内 `java.lang.Object`
      戻り値:
        このスプライトと同じ設定の新しいインスタンス.

    - #### compareTo

          public final int compareTo(Sprite spr)

      スプライトの深度を比較し、z軸座標の昇順に並び替える機能を提供します.
      定義:
        `compareTo` インタフェース内 `java.lang.Comparable<Sprite>`
      パラメータ:
        `spr` - 比較するスプライト.
      戻り値:
        Comparableの実装に基づく値.

    - #### toString

          public java.lang.String toString()

      オーバーライド:
        `toString` クラス内 `java.lang.Object`