スクリプトからの呼び出し<上級者向け>【TRP_Particle】
TRP_Particleの各コマンドはスクリプトから呼び出すことができるほか、PIXI.SpriteやPIXI.Containerといったスクリプトで生成したDisplayObjectをパーティクルの表示対象とすることも可能です。
基本的には$gameScreen._particle.particleコマンド名(パラメータ)
の形で呼び出すことができます。
例えばclearコマンドであれば、「$gameScreen._particle.particleClear(管理ID,quitフラグ);」といった感じです。
いくつかのコマンドは上記の引数形とならないので、例外のコマンドから先に紹介していきます。
記事内容
- set/play/editコマンドの呼び出し
└DisplayObjectsの対象指定 - update/animateコマンドの呼び出し
- その他コマンドの呼び出し
set/play/editコマンドの呼び出し
『particleSet(呼び出し元イベントID,管理ID,対象,設定名,Z軸値)』
└例:$gameScreen._particle.particleSet(0,'parId','player','def','above')
└コマンド:particle set parId player def above
play、editコマンドも同様の引数です。
引数の1つ目に呼び出し元イベントIDが入り、対象がthisの場合はこのイベントIDがセットされます。
イベント対象でない場合は0をセットしてください。
DisplayObjectsの対象指定
スクリプト内で生成したSpriteにパーティクルを表示したい場合は、対象引数にそのままスプライトなりコンテナを渡してください。
パーティクルのコンテナが対象の親階層に貼り付けられ、エミット位置が対象座標に追従します。
例)var sprite = new Sprite(ImageManager.loadPicture('ピクチャ名'));
SceneManager._scene.addChild(sprite);
$gameScreen._particle.particleSet(0,'parId',sprite,'def','above');
DisplayObjectsを対象とする場合にはいくつか注意点があります。
spriteは呼び出し直後にaddChildされてparentが存在している必要
parentから切り離された瞬間にclearされる
* parentが切り替わる、またはparent.parentが切り替わると座標追従が無効化
update/animateコマンドの呼び出し
『particleUpdate([管理ID,パラメータ名,設定値1,設定値2,...]』
└例:$gameScreen._particle.particleUpdate(['parId','pos',10,20]);
└コマンド:particle update pos 10 20;
『particleAnimate([管理ID,フレーム数,パラメータ名,設定値1,設定値2,...]』
└例:$gameScreen._particle.particleAnimate(['parId',30,'pos',10,20]);
└コマンド:particle animate 30 pos 10 20;
注意点は、引数を配列内に入れて与えることです。
その他のコマンド
その他のコマンドは素直にサブコマンド以下を引数として与えてください。
『particleClear(管理ID,中断フラグ)』
└例:$gameScreen._particle.particleClear('parId');
└コマンド:particle clear parId;
『particleExceed(管理ID,秒数)』
└例:$gameScreen._particle.particleExceed('parId',0.5);
└コマンド:particle exceed parId 0.5;
などなど。