投稿記事

スクリプトからの呼び出し<上級者向け>【TRP_Particle】

←MV版マニュアルトップ
←MZ版マニュアルトップ

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;

などなど。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

TRP_Particleレビューキャンペーン実施中!

レビューツイートで拡張パッチプレゼント中!

TwitterにてTRP_Particleのレビューキャンペーンを行ってます!

参加プレゼントとしてパーティクル再生速度の変更・タイムラプス再生を行える拡張パッチを配布してますので、購入済みの方はぜひご参加を!!

https://twitter.com/thiropGames/status/1258705582304813056

セール情報

先月より先行版の販売をしてましたパーティクルプラグイン「TRP_Particle」ですが、先日大幅な機能追加アップデートを行い、改めて完成版となりました!

5月末までセールも行ってますので購入を検討中の方はこの機会にぜひ!
https://thirop.booth.pm/items/1940649
https://twitter.com/thiropGames/status/1258703280248549377

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

パッチノート【TRP_Particle】

←マニュアルトップへ戻る

最新版のデータはBoothの購入履歴よりダウンロード可能です。
不具合の可能性もあるため必ずプロジェクトをバックアップした上でアップデートをしてください。


V1.12(20年6月29日)

  • メニュー呼び出し時にマップ上のパーティクル画像が背景画像に残るよう修正

V1.10(20年5月20日)

  • Windowsで@キーが使えない不具合修正
  • テンキー入力に対応
  • 移動ルートのスクリプトでのコマンド実行に対応(プラグインコマンドと同じ形式)
  • 任意のシーンでの表示に対応
    └対象としてタイトル:Scene_TItle、メニュー:Scene_Menu、ショップ:Scene_Shop
     ゲームオーバー:Scene_Gameoverなど
    └editコマンドでの編集は付加。事前にマップ上などで編集してください
  • 上級者向けプラグイン設定「シーン対象登録」を追加
    └『-(ハイフン)』つなぎで設定するとグループ化されて自然に遷移
    └一度設定を開いてデフォルト値が登録されたらOKで設定保存を
    └デフォルト値は["Scene_Menu-Scene_Save-Scene_Item-Scene_Equip-Scene_Actor-Scene_Skill-Scene_Status","Scene_Title","Scene_Load","Scene_Options","Scene_Shop","Scene_Gameover"]
  • プラグイン設定のカテゴリー整理

V1.09(20年5月16日)

  • チートシートの更新
  • ステート付加時のパーティクル表示機能
  • 戦闘時の対象attach:party:パーティー順、attach:enemy:敵グループ順を追加
    └attach:this、スキルではattach:targetも有効
  • イベントページの注釈でパーティクル設定(コマンドと同じ形式)
  • ID末尾に「-EID」で実行中のイベントIDと置き換え(イベントコピペ可能に)
    └例:particle set smoke_c-EID this smoke_c。実際の管理IDはsmoke_c-イベントIDに置き換えられます。
  • 天界マップ、戦闘ステートのプリセットデータ追加
  • 画面外イベントのエミッター再生制御機能(設定「キャラ対象の画面外幅」)
  • set/play/editコマンドで、パラメータ末尾に「tag:タグ名」でタグの付加
  • set/play/edit以外のID指定コマンドの一括操作。詳しくはチートシート参照
  • 対象:battleWeatherとした際のエラーを修正
  • 設定「戦闘終了時に戦闘関連クリア」を削除し、「戦闘終了時に戦闘Screen対象クリア」と「戦闘終了時に戦闘キャラ対象クリア」を追加
  • 競合回避策として設定「ステート表示無効」「スキル表示無効」を追加

V1.08(20年5月8日)

  • MadeWithMVとの競合修正
    └TRP_ParticleはMadeWithMVより下に配置すること

V1.06~V1.07(20年5月7日)

  • attach対象でキャラがいない場合の不具合修正
  • 微細な内部処理の変更

V1.05(20年5月6日)

アニメーションピッカーの追加

エディタにアニメーション画像を選択するピッカーの追加。
アニメーション画像はピッカーを閉じた際に使用するフレームのみを切り抜いた画像をparticlesフォルダ内に「_ANIM_画像名_フレーム番号.png」の名前で自動的に保存されます。

TRP_ParticleList.jsの必須化

プラグインファイルTRP_ParticleList.jsの導入が任意から必須となりました。
このファイルの役割は以下のとおりです

  • プラグインヘルプで保存したデータ一覧の確認
  • デプロイメント時に使用しているパーティクル画像が除かれないよう登録
  • トリムされたアニメーション画像の情報保存

TRP_ParticleEditorプラグイン設定の変更

以下の設定項目が削除されました。

  • 画像名リスト:自動でparticlesフォルダ内の画像を走査するよう変更
  • ヘルプ作成:TRP_ParticleList.jsの導入が必須となったため変更

最大数制限の厳密化

maxコマンドでのパーティクル発生最大数の能力制限をより厳密化しました。
再生停止中のパーティクル設定も発生キャラパシティが計上されるため、しばらくの間再生されることのない設定はclearコマンドで消去することを推奨します。(寿命がある設定の場合で1回のみの再生の場合はplayコマンドの使用を)

最大数制限オプション用パッチ「TRP_ParticleExOption」の追加

追加パッチプラグインファイルTRP_ParticleExOption.jsをmaterialsフォルダに追加しました。
プラグイン設定で登録しておいた制限レベルをゲーム中のオプションから選択できるようになります。

angleTypeパラメータをangleに変更

imageOptionのangleTypeパラメータをangleに変更しました。
angleTypeを1にするとランダムな角度となっていましたが、V1.05からangleを-1にすることで同様の効果となります。(既存データは自動的に変換されます。)

また、angleを1以上とすると画像を任意の角度で回転させることができます。
進行方向に影響を与えず角度を変更したい場合に設定してください。

敵のパーティクル設定の対象名変更

敵のノート欄に記述するパーティクル設定において、対象パラメータは「enemy:1」から「this」に統一されました。

すでにこの機能を使用している場合は「this」への変更をお願いします。
例:修正前)particle:set parID1 enemy:1
例:修正後)particle:set parID1 this

スキルでの表示対応

スキル使用時にパーティクルを表示できるになりました。
詳しくは戦闘中シーンでの表示【TRP_Particle】を御覧ください。

マップのループへの対応

マップの縦・横ループ設定時にループの境界で正しくパーティクルが表示されない仕様を修正しました。

画像の追加・修正

パーティクル画像の追加・修正を行いました。
一部の画像は名前を変更したり、画像自体を修正しております。
詳しくはVer1.05でのパーティクル画像修正内容【TRP_Particle】にまとめてますのでご確認ください。

変更前の画像はparticles/_oldフォルダ内に退避してますので、必要に応じて画像を差し戻しての使用をお願いします。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

再生制御系コマンド【パーティクルプラグイン】

←MV版マニュアルトップ
←MZ版マニュアルトップ

パーティクルの表示や演出に関するコマンドです。
(※補足以外のパラメータ解説はチートシートと同じ内容です。)

コマンド一覧

  • set → 再生
  • play → 1度再生して削除
  • edit → 設定を編集
  • on → 再生を再開
  • off → 再生を停止
  • clear → 再生を停止して削除
  • exceed → 指定時間だけ進める
  • repeat → 繰り返し設定

set → 再生

▷パラメータ:「ID 対象 設定名 Z軸値」
簡易例)『particle set par1 this』
 → ID(かつ設定名)par1のパーティクルをこの(this)イベントを対象に再生開始
詳細例)『particle set par1 weather setting1 2』(設定名省略で設定名=ID)
 → IDをpar1、対象は天候(weathr)、使用する設定名はsetting1、Z軸は通常より2だけ下に配置して再生

▷補足:IDと設定名について
IDを設定名と同じにする場合は設定名を省略できます。
例えば煙を発生させるsmokeという設定を使ってパーティクルを発生させたい場合に、『particle set smoke this』とすればこのイベントに対してパーティクルを発生させられます。
ただし、他のイベントにも同時に煙を発生させたい場合は、異なるIDを設定しなければなりません。2つ目のイベントに対しては『particle set smoke2 this smoke』といったようにID部分の名前を変更して異なる対象に同じIDが被らないようにしましょう。



play → 1度再生して削除

▷パラメータ:「ID 対象 設定名 Z軸値」
簡易例)『particle play par1 this』
 → ID(かつ設定名)par1のパーティクルをこの(this)イベントを対象に一度再生して削除
詳細例)『particle set par1 weather setting1 2』(設定名省略で設定名=ID)
 → IDをpar1、対象は天候(weathr)、使用する設定名はsetting1、Z軸は通常より2だけ下に配置して一度再生して削除

▷補足:setとplayの使い分け
基本的には「永続して発生するもの(emitterLifetimeが-1)」や「繰り返し使うもの」はset、emitterLifetimeを0以上に設定して「寿命があるもり1回だけ再生したいもの」にはplayを使うと良いでしょう。

playは再生完了後にupdateコマンドなどで設定した設定データなども削除されます。
セーブ時の容量や、動作負荷にもわずかに影響がありますので再生していないパーティクル設定は残り続けさせない方が良いでしょう。


edit → 設定を編集

▷パラメータ:「ID 対象 設定名 Z軸値」
簡易例)『particle edit par1 this』
 → ID(かつ設定名)par1のパーティクルをこの(this)イベントを対象に編集開始
詳細例)『particle set par1 weather setting1 2』(設定名省略で設定名=ID)
 → IDをpar1、対象は天候(weather)、使用する設定名はsetting1、Z軸は通常より2だけ下に配置して編集開始

▷補足
playやsetの再生コマンドをeditに置き換えることで編集画面を呼び出すことができます。
(このコマンドを使うにはTRP_ParticleEditorのプラグインも導入されている必要があります)


on → 再生を再開

▷パラメータ:「ID」
簡易例)『particle on par1』
 → 停止中のIDがpar1ののパーティクルの再生を再開


off → 再生を停止

▷パラメータ:「ID」
例)『particle off par1』
 → par1のIDのパーティクルを再生停止

▷補足
再生を停止して再度再生させることがない場合は代わりにclearコマンド推奨です。


clear → 再生を停止して削除

▷パラメータ:「ID 即座に削除フラグ」
例)『particle clear par1』
 → par1のIDのパーティクルを停止して削除
例2)『particle clear par1 true』
 → par1のIDのパーティクルを直ちに削除

▷補足
claerコマンドはパーティクルの再生を停止した後に再生情報を削除します。
最後に即座に削除フラグとしてtrueを追加した場合は、画面上に残っているパーティクルの消滅をまたずに直ちに削除します。(画面上のパーティクルは即座に消えます)


exceed → 指定時間だけ進める

▷パラメータ:「ID 時間(秒)」
例)『particle exceed par1 10』
 → par1のIDを10秒だけ進める。(出始めから定常状態まで時間がかかる場合などに使用)


repeat → 繰り返し設定(play用)

▷パラメータ:「ID インターバルフレーム」
例)『particle repeat par1 10』
 → par1のIDをの再生完了後、10フレーム待ってから再生を繰り返す

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

パラメータ変更系コマンド【パーティクルプラグイン】

←MV版マニュアルトップ
←MZ版マニュアルトップ

再生中のパーティクルのパラメータを変更するコマンドの解説です。

パラメータの種類については↓の解説ページを参照ください。
パラメータ一覧【パーティクルプラグイン】


コマンド一覧

  • update → パラメータ設定を変更
  • animate → パラメータ設定を徐々に変更

update → パラメータ設定を変更

▷パラメータ:「ID パラメータ名 設定値1 設定値2 …」
簡易例)『particle update par1 pos 24 -12』
 → IDがpar1のパーティクルの発生位置(pos)をx=24,y=-12に変更
詳細例)『particle update par1 scale 0 1@0.5 0』(パラメータは下部の表参照)
 → IDがpar1のパーティクルの拡大率(scale)を時間0のとき0、中間のとき(時間0.5)のとき1、最後(時間1)のとき0に変更

▷補足
updateやanimateで変更したパラメータは内部の再生情報が残っている限り反映されます。
clearコマンドで削除した場合や、playコマンドで再生完了後に再度playで再生する場合にはupdateで更新した内容は失われています。
(繰り返し使う場合はsetコマンドを使うと良いでしょう)


animate → パラメータ設定を徐々に変更

▷パラメータ:「ID 所要時間 パラメータ名 設定値1 設定値2 … <coeff:変化係数>」
簡易例)『particle animate par1 30 pos 24 -12』
 → IDがpar1のパーティクルの発生位置(pos)を30フレームかけてx=24,y=-12に変更
詳細例)『particle animate par1 30 frequency 0.01 coeff:0.5』(パラメータは下部の表参照)
 → IDがpar1のパーティクルの発生間隔を30フレームかけて0.01に変更。変化の係数を0.5でイージング気味に(1以下でイージングアウト、1以上でイージングイン気味)

▷補足:ノード系パラメータの変更について
ノード系パラメータ(@を使って細かくタイミングごとの値を指定できるパラメータ。alpha、scale、speed、color)をanimteコマンドで変化させる際には、項目数とタイミングの値が変更前と同じ必要があります。

たとえば、scale(拡大率)が「0 1@0.5 0」という値だったとします。
これはパーティクル出現時(@0)に0、中間地点(@0.5)で1、消滅時(@1.0)に0を表します。
(最初の@0と最後@1は省略可能)

ここからanimateコマンドで「1 0」といったように項目数を減らしたり、「0 1@0.3 0」といったようにタイミングの値が変わるような値に変化させることはできません。

「3 2@0.5 1」のように項目数、タイミングの値がともに変更前と同じ場合のみ正しく変化させることができます。

どうしても項目数、タイミングを変えたい場合はanimate直前にupdateコマンドで項目数・タイミングの値を変えておく必要があります。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索