RPGツクールMV用プラグイン投稿・告知サイト

#ツクプラ

パーティクル - 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 と同じ効果。
 * 
 */

スポンサードリンク

スポンサードリンク

Copyright© #ツクプラ , 2026 All Rights Reserved.