FlxTypedGroup
API Reference > flixel.group > FlxTypedGroup
FlxTypedGroup<T:FlxBasic>
このクラスはFlxBasicをまとめて管理し、更新・レンダリングできるグループです。
- FlxTypedGroup<T:FlxBasic>
- スーパークラス
- フィールド
- メソッド
- new() :コンストラクタ
- add() : FlxBasicのインスタンスを登録
- recycle() : インスタンスをリサイクルします
- remove() : 指定のオブジェクトを削除します
- replace() : 指定のオブジェクトを置き換えします
- setAll() : すべてのメンバーのフィールドに値を設定します
- callAll() : すべてのメンバーのメソッドを呼び出します
- getFirstAvailable() : 利用可能なインスタンス(exst==false)を取得します
- getFirstDead() : 死亡している(dead==true)インスタンスを取得します
- getFirstExisting() : 生存している(exist==true)インスタンスを取得します
- getFirstAlive() : 存在している(exist==true && alive==true)インスタンスを取得します
- countLiving() : 生存しているメンバーの数を取得します
- forEach() : すべてのメンバーに対して指定のメソッドを呼び出します
- forEachAlive() : すべての存在している(exist==true && alive==true)メンバーに対して指定のメソッドを呼び出します
- forEachExists() : すべての生存している(exist==true)メンバーに対して指定のメソッドを呼び出します
スーパークラス
フィールド
members:Array<T> : このグループにおけるすべてのメンバー配列
maxSize:Int : このグループにおける最大サイズ
length:Int = 0 : メンバーに実際にインスタンスが登録されている数
メソッド
new() :コンストラクタ
- 引数
- MaxSize?:Int = 0 : 登録可能な最大サイズ
add() : FlxBasicのインスタンスを登録
登録可能なサイズ以下であれば、FlxBasicを継承したクラスのインスタンスを登録します。サイズが足りない場合は何もしません
recycle() : インスタンスをリサイクルします
- 引数
- 戻り値 : T : 取得できたインスタンス。取得できない場合はnull
詳細説明
リサイクルは、newによるメモリ再割当てを行わずにインスタンスを再利用できるように設計されています。その挙動はmaxSizeが0であるか、0より大きいかによって動作が異なります。
分類 | 条件 | 挙動 |
maxSize > 0 「rotating-recycling」 | maxSizeぶんadd()済みの場合(length == maxSize) | プール内に存在するインスタンスを返します。aliveフラグのチェクはしません |
登録インスタンスがmaxSizeに達しない場合(length < maxSize) | newしたインスタンスを返します | |
maxSize == 0 「grow-style-recycling」(FlxEmitterで使用) | インスタンスが足りている場合 | exists==falseである最初のインスタンスを返します |
足りない場合 | newしたインスタンスを返します |
remove() : 指定のオブジェクトを削除します
- 引数
- Object:T : 削除するオブジェクト
- Splice:Bool = false : メンバー配列のサイズを切り詰めるかどうか
- 戻り値 : T : 削除したオブジェクト
replace() : 指定のオブジェクトを置き換えします
setAll() : すべてのメンバーのフィールドに値を設定します
- 引数
- VariableName?:String : 変更するフィールド名
- Value:Dynamic : 変更する値
- Recurse:Bool : 再帰的に設定をおこなうかどうか
- 戻り値 : Void
callAll() : すべてのメンバーのメソッドを呼び出します
- 引数
- FunctionName?:String : メソッド名
- ?Args:Array<Dynamic> : メソッドに渡す引数
- Recurse:Bool : 再帰的に呼び出しを行うかどうか
- 戻り値 : Void
getFirstAvailable?() : 利用可能なインスタンス(exst==false)を取得します
このメソッドは一般的なリサイクル、例えば敵を出現させる、などで便利です。 ただし取得したインスタンスの revive() を呼び出して復活させることが必要です。
- 引数
- ?ObjectClass?:Class<T> : 取得するクラスの型
- Force:Bool = false : 型の一致を強制するかどうか
- 戻り値 : T : 取得できたインスタンス。取得できない場合はnull
getFirstDead?() : 死亡している(dead==true)インスタンスを取得します
このメソッドは、例えば敵を出現させる、などで便利です。 ただし取得したインスタンスの revive() を呼び出して復活させることが必要です。
- 戻り値 : T : 取得できたインスタンス。取得できない場合はnull
getFirstExisting?() : 生存している(exist==true)インスタンスを取得します
このメソッドは全滅チェックやリーダーの取得などで有効です
- 戻り値 : T : 取得できたインスタンス。取得できない場合はnull
getFirstAlive?() : 存在している(exist==true && alive==true)インスタンスを取得します
このメソッドは全滅チェックやリーダーの取得などで有効です
- 戻り値 : T : 取得できたインスタンス。取得できない場合はnull
countLiving() : 生存しているメンバーの数を取得します
- 戻り値:Int : 生存している(exist==true && alive==true)メンバーの数
forEach() : すべてのメンバーに対して指定のメソッドを呼び出します
- 引数
- Function:T->Void : 呼び出すメソッド
- 戻り値: Void
forEachAlive?() : すべての存在している(exist==true && alive==true)メンバーに対して指定のメソッドを呼び出します
- 引数
- Function:T->Void : 呼び出すメソッド
- 戻り値: Void
forEachExists?() : すべての生存している(exist==true)メンバーに対して指定のメソッドを呼び出します
- 引数
- Function:T->Void : 呼び出すメソッド
- 戻り値: Void