kinugasa.util
クラス FrameTimeCounter

java.lang.Object
  上位を拡張 kinugasa.object.Model
      上位を拡張 kinugasa.util.TimeCounter
          上位を拡張 kinugasa.util.FrameTimeCounter
すべての実装されたインタフェース:
java.io.Serializable, java.lang.Cloneable, Statable

public class FrameTimeCounter
extends TimeCounter

複数の、呼び出し回数ベースの待機時間を順番に評価するTimeCounterの実装です.
このクラスは、TimeCounterの基本の実装です。たとえば、STGにおける射撃間隔の制御などに使用します。

バージョン:
1.0.0 - 2013/01/11_18:35:20
作成者:
Dra0211
関連項目:
直列化された形式

フィールドの概要
private  ArrayIndexModel index
          遷移するインデックスのモデルです.
private  ArrayIndexModel initialIndex
          最初に設定されていた状態のインデックスのモデルです.
private  boolean running
          実行中であるかを判定するフラグです.
private static long serialVersionUID
           
private  int speed
          カウンタから引く値です.
private  int timeCount
          現在のインデックスの待ち時間のカウンタです.
private  int[] waitTime
          待ち時間を格納する配列です.
 
クラス kinugasa.util.TimeCounter から継承されたフィールド
FALSE, TRUE
 
コンストラクタの概要
FrameTimeCounter(ArrayIndexModel index, int... waitTime)
          インデックスモデルと待ち時間を指定して、新しいカウンタを作成します.
FrameTimeCounter(int... waitTime)
          待ち時間を指定して、新しいカウンタを作成します.
FrameTimeCounter(int speed, ArrayIndexModel index, int... waitTime)
          速度、インデックスモデル、待ち時間を指定して新しいカウンタを作成します.
FrameTimeCounter(int speed, int[] waitTime)
          速度と待ち時間を指定して、新しいカウンタを作成します.
 
メソッドの概要
 FrameTimeCounter clone()
          このモデルのクローンを返します.
 boolean equals(java.lang.Object obj)
           
 ArrayIndexModel getIndex()
           
 int getSpeed()
           
 int getTimeCount()
           
 int[] getWaitTime()
           
 int hashCode()
           
 void initCount()
           
 boolean isEnded()
          このオブジェクトが「終了した」状態であるかを検査します.
 boolean isReaching()
          設定された時間が経過したかを検査します.
 boolean isRunning()
          このオブジェクトが「開始している」状態であるかを検査します.
 void reset()
          検査の状態を初期化します.
 void setIndex(ArrayIndexModel index)
           
 void setIndex(int index)
           
 void setSpeed(int speed)
           
 void setTimeCount(int timeCount)
           
 void setWaitTime(int... waitTime)
           
 java.lang.String toString()
           
 
クラス kinugasa.object.Model から継承されたメソッド
clone
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

serialVersionUID

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

timeCount

private int timeCount
現在のインデックスの待ち時間のカウンタです. この値が実際に計算されます。


speed

private int speed
カウンタから引く値です.


index

private ArrayIndexModel index
遷移するインデックスのモデルです.


initialIndex

private ArrayIndexModel initialIndex
最初に設定されていた状態のインデックスのモデルです.


waitTime

private int[] waitTime
待ち時間を格納する配列です.


running

private boolean running
実行中であるかを判定するフラグです.

コンストラクタの詳細

FrameTimeCounter

public FrameTimeCounter(int... waitTime)
待ち時間を指定して、新しいカウンタを作成します. このコンストラクタでは、速度は1、インデックスは通常のシーケンシャルなインデックスが設定されます。

パラメータ:
waitTime - 待機時間を指定します。0を指定すると、常にtrueを返すモデルが、1を指定すると、2回目の呼び出しから交互に trueを返すモデルが作成されます。何も指定しない場合は、0になります。

FrameTimeCounter

public FrameTimeCounter(int speed,
                        int[] waitTime)
速度と待ち時間を指定して、新しいカウンタを作成します. このコンストラクタでは、インデックスは通常のシーケンシャルなインデックスが設定されます。

パラメータ:
speed - 待ち時間に対する遷移速度を指定します。たとえば、2を指定すると待ち時間から検査のたびに2が引かれ、 0以下になった場合に「時間切れ」と判定されます。
waitTime - 待機時間を指定します。0を指定すると、常にtrueを返すモデルが、1を指定すると、2回目の呼び出しから交互に trueを返すモデルが作成されます。何も指定しない場合は、0になります。

FrameTimeCounter

public FrameTimeCounter(ArrayIndexModel index,
                        int... waitTime)
インデックスモデルと待ち時間を指定して、新しいカウンタを作成します. このコンストラクタでは、速度は1が設定されます。

パラメータ:
index - 待ち時間の配列に対するインデックスの遷移モデルを指定します。
waitTime - 待機時間を指定します。0を指定すると、常にtrueを返すモデルが、1を指定すると、2回目の呼び出しから交互に trueを返すモデルが作成されます。何も指定しない場合は、0になります。

FrameTimeCounter

public FrameTimeCounter(int speed,
                        ArrayIndexModel index,
                        int... waitTime)
速度、インデックスモデル、待ち時間を指定して新しいカウンタを作成します.

パラメータ:
speed - 待ち時間に対する遷移速度を指定します。たとえば、2を指定すると待ち時間から検査のたびに2が引かれ、 0以下になった場合に「時間切れ」と判定されます。
index - 待ち時間の配列に対するインデックスの遷移モデルを指定します。
waitTime - 待機時間を指定します。0を指定すると、常にtrueを返すモデルが、1を指定すると、2回目の呼び出しから交互に trueを返すモデルが作成されます。何も指定しない場合は、0になります。
メソッドの詳細

clone

public FrameTimeCounter clone()
クラス Model の記述:
このモデルのクローンを返します. クローンはObjectクラスの機能を使って行われます。
全てのモデルの実装は、cloneメソッドを適切にオーバーライドする必要があります。

オーバーライド:
クラス TimeCounter 内の clone
戻り値:
このモデルと同じクラスの新しいインスタンスを返します。

isReaching

public boolean isReaching()
クラス TimeCounter の記述:
設定された時間が経過したかを検査します.

定義:
クラス TimeCounter 内の isReaching
戻り値:
設定された時間が経過した場合にtrue、そうでない場合にfalseを返します.

initCount

public void initCount()

setIndex

public void setIndex(ArrayIndexModel index)

setIndex

public void setIndex(int index)

getIndex

public ArrayIndexModel getIndex()

setSpeed

public void setSpeed(int speed)

getSpeed

public int getSpeed()

getTimeCount

public int getTimeCount()

setTimeCount

public void setTimeCount(int timeCount)

getWaitTime

public int[] getWaitTime()

setWaitTime

public void setWaitTime(int... waitTime)

isEnded

public boolean isEnded()
インタフェース Statable の記述:
このオブジェクトが「終了した」状態であるかを検査します.

定義:
インタフェース Statable 内の isEnded
定義:
クラス TimeCounter 内の isEnded
戻り値:
終了している場合はtrueを返します。

isRunning

public boolean isRunning()
インタフェース Statable の記述:
このオブジェクトが「開始している」状態であるかを検査します. このオブジェクトの状態をリセットできる場合、リセット後も「開始されている」かどうかは 実装によって異なります。

定義:
インタフェース Statable 内の isRunning
定義:
クラス TimeCounter 内の isRunning
戻り値:
開始している場合はtrueを返します。

reset

public void reset()
クラス TimeCounter の記述:
検査の状態を初期化します. このメソッドを呼び出すことで、最初に設定された時間や状態を 復元し、再度検査可能にします。

定義:
クラス TimeCounter 内の reset

hashCode

public int hashCode()
オーバーライド:
クラス java.lang.Object 内の hashCode

equals

public boolean equals(java.lang.Object obj)
オーバーライド:
クラス java.lang.Object 内の equals

toString

public java.lang.String toString()
オーバーライド:
クラス java.lang.Object 内の toString