当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
パーティクル - ParticleEmitter.js

▼パーティクル(ツキミ様作) - ParticleEmitter.js
https://plugin.fungamemake.com/archives/13556
pixiビルドインの particles を pixi-particle.js でコントロールするいわゆるパーティクルシステム
ふりがな:ぱーてぃくる
機能概要: pixiビルドインの particles を pixi-particle.js でコントロールするいわゆるパーティクルシステム
利用規約(ライセンス): MITライセンス
作者:ツキミ
作者サイト:http://tsukimitsf.blog.fc2.com/
解説ページ:https://forum.tkool.jp/index.php?threads/603/
ダウンロードページ:https://raw.githubusercontent.com/cji3bp62000/hello-wor…
ファイル名:ParticleEmitter.js
プラグインのヘルプ:
/*:ja
* @plugindesc パーティクル
* @author Tsukimi
*
* @param configName
* @text 設定ファイル名
* @type string[]
* @desc 使う設定ファイルの名前
* @default []
*
* @param staticToPlayer
* @text プレイヤー固定化(staticToPlayer)
* @type boolean
* @desc プレイヤーに設定したエミッターはマップ移動後に消さないべきか否か
* @default true
*
* @param enabledAll-Settings
* @text パーティクル表示ON/OFF設定
*
* @param enabledAll-ShowInOptionMenu
* @text オプションメニューに表示する
* @parent enabledAll-Settings
* @desc 「パーティクル表示」のON/OFFをゲーム内のオプションメニューから設定出来るようにする
* @type boolean
* @default true
*
* @param enabledAll-Text
* @text オプションメニューでの文言
* @parent enabledAll-Settings
* @desc ゲーム内オプションでのパーティクル表示ON/OFFの文言
* @default パーティクル表示
*
* @param enabledAll-DefaultValue
* @text パーティクル表示ON/OFFの初期値
* @parent enabledAll-Settings
* @desc パーティクル表示ON/OFFの初期値;OFF→全パーティクルを表示しない(少し軽くなる)
* @type boolean
* @default true
*
* @help
*
* パーティクルプラグイン
* 作者:ツキミ
*
* 説明:
* pixiビルドインの particles を pixi-particle.js で
* コントロールするプラグインです。
* いわゆるパーティクルシステムが出来ます!
*
* ・エミッターの設定ファイルは data/ に particles フォルダー
* を作り、入れてください。
* ・パーティクルの画像ファイルは img/ に particles フォルダー
* を作り、入れてください。
*
* 詳しい説明は、
* https://forum.tkool.jp/index.php?threads/.1073/
* を見てください。
*
* ---------------------------------------------------
* プラグインコマンド:
* イベントコマンド「プラグインコマンド」から実行。
* (パラメータの間は半角スペースで区切る)
*
* *** 以下の PEmitter を全部 PE に省略できます。 ***
*
* createPEmitter {id} {config} {eventId} {imageNames ...}
* エミッターを作る。
* id: エミッター識別名、調整、削除の時に使う。好きな名前をどうぞ。
* config: data/particles/ に入っているエミッターの設定ファイル
* eventId: エミッターの追従対象。
* -1:プレイヤー、0:このイベント、1~:該当イベント
* x:画面依存、screen:画面依存(当マップのみ)
* imageNames: img/particles/ に入っているパーティクル画像名
* 複数あったら半角空白で区切る
*
* 例: createPEmitter star#1 starEmitter x star1 star2
* 名前がstar#1のエミッターを作り、設定ファイルをstarEmitter.jsonにし、
* 画面依存にする。パーティクルの画像はstar1.pngとstar2.png。
*
*
* pausePEmitter {id}
* エミッターを一時中断する。
*
* resumePEmitter {id}
* エミッターを再開する。
*
* stopPEmitter {id}
* エミッターを中止する。(パーティクルが全部消えたあと削除する)
*
* deletePEmitter {id}
* エミッターを中止する。(すぐにすべてのパーティクルを削除する)
*
*
* setPEmitterPos {id} {x} {y}
* エミッターの相対位置を(x,y)に設置する。
* x,y の値は数字以外、以下の文字も設定可能です。
* x: 現在のパラメータ(パラメータを変えない)
* v<数字>: 変数番号<数字>の値を代入する
* r<#1>~<#2>: #1~#2の間の乱数生成。
* #1と#2もv<数字>で指定可能。
*
* 例: setPEmitterPos star#1 10 x
* star#1のx座標を10にする。(yは変えない)
*
*
* movePEmitterPos {id} {x} {y} {duration} (easingFunction)
* エミッターの相対位置を{duration}フレーム掛けて(x,y)に移動する。
* 数値→x: 調整しない
* easingFunction: 移動のアニメーション(徐々に加速、減速等)
* 指定が無ければ linear になります
* 詳しくは:https://easings.net/ja
*
* 例: movePEmitterPos star#1 -10 20 60 easeOutBounce
* star#1を60フレームかけて(-10, 20)に移動する。
* (アニメ:跳ね返る)
*
*
* setPEmitterZ {id} {z}
* エミッターのzレイヤーを変える。
* zレイヤー参照:
* 0 : 下層タイル
* 1 : 通常キャラの下
* 3 : 通常キャラと同じ
* 4 : 上層タイル
* 5 : 通常キャラの上
* 6 : 飛行船の影
* 7 : フキダシ
* 8 : アニメーション
* 9 : マップタッチの行き先(白く光るヤツ)
*
* 例: setPEmitterZ star#1 5
* 発射位置を通常キャラの上にする。
*
*
* setPEmitterAsLocal {id} {true/false}
* マップにではなく、
* イベントの相対位置にパーティクルを生成するかどうか。
* (trueにすると、キャラが右に一マス移動する
* →全パーティクルも右に一マス移動する)
*
*
* setPEmitterStaticToPlayer {id} {true/false}
* プレイヤーに設定したエミッターは
* マップ移動後に消さないべきか否か。
* プレイヤーに適用しているエミッターにしか効果がない。
*
*
* 高度な移動コマンド:
* (Q:Queue、R:Routine)
*
* movePEmitterPosQ {id} {x} {y} {duration} (easingFunction)
* 移動コマンドの待ち列に新しい移動を追加する。
* 前の移動が終わった後、自動で次の移動が再生される。
* 主に移動コマンドを一気に指定したい時に使う。
*
* 例: movePEmitterPosQ star#1 0 20 60 easeOutBounce
* movePEmitterPosQ star#1 20 x 30 easeInBounce
* (0,20)に移動した後、(20,20)に移動する
*
*
* movePEmitterPosQR {id} {x} {y} {duration} (easingFunction)
* ループ移動コマンド配列に移動を追加する。
*
* 例: movePEmitterPosQR star#1 -20 20 30
* movePEmitterPosQR star#1 20 20 30
* movePEmitterPosQR star#1 20 -20 30
* movePEmitterPosQR star#1 -20 -20 30
*
* (-20,20)→(20,20)→(20,-20)→(-20,-20)→(-20,20)→…
* 辺の長さが40の正方形に沿って時計回りに移動し続ける。
*
*
* clearPEmitterPosQ {id}
* 移動コマンドの待ち列をクリアする。
*
* clearPEmitterPosQR {id}
* ループ移動コマンド配列をクリアする。
*
* ---------------------------------------------------
* タグによるエミッター自動生成も可能。
*
* *** 以下の PEmitter を全部 PE に省略できます。 ***
*
* マップ:
* <PEmitter:id,config,imageNames,...>
* コマンド createPEmitter と同じ効果。
* ただし、 eventId は screen になる。(指定できない)
*
* 例:<PEmitter:star#1,starEmitter,star1,star2>
*
* <SetPEmitterPos:id,x,y>
* コマンド setPEmitterPos と同じ効果。
*
* <SetPEmitterZ:id,z>
* コマンド setPEmitterZ と同じ効果。
*
* <MovePEmitterPosQR:id,x,y,duration,easingFunc>
* コマンド movePEmitterPosQR と同じ効果。
*
*
* イベント:
* <PEmitter:id,config,imageNames,...>
* コマンド createPEmitter と同じ効果。
* ただし、 eventId は 該当イベントのid になる。(指定できない)
*
* 例:<PEmitter:star#1,starEmitter,star1,star2>
*
* <SetPEmitterPos:id,x,y>
* コマンド setPEmitterPos と同じ効果。
*
* <SetPEmitterZ:id,z>
* コマンド setPEmitterZ と同じ効果。
*
* <SetPEmitterAsLocal:id>
* コマンド setPEmitterAsLocal id true と同じ効果。
*
* <MovePEmitterPosQR:id,x,y,duration,easingFunc>
* コマンド movePEmitterPosQR と同じ効果。
*
*/