ピクチャシューティングプラグイン - ShotPicture.js
シェア用テキスト:
▼ピクチャシューティングプラグイン(Rimu様作) - ShotPicture.js
https://plugin-mz.fungamemake.com/archives/4993
シューティングゲームのように色々設定できる弾を生成できるプラグインです。
ふりがな:ぴくちゃしゅーてぃんぐぷらぐいん
機能概要: シューティングゲームのように色々設定できる弾を生成できるプラグインです。
利用規約(ライセンス): MITライセンス
作者:Rimu
作者サイト:https://x.com/Rimu_sosak
ダウンロードページ:https://raw.githubusercontent.com/Rimu-aqua-a/ShotPictu…
ファイル名:ShotPicture.js
備考:
* ■使用方法
* プラグインコマンド「弾の発射」を使うことでイベントから弾を発射できます。
* 各パラメーターを設定の上ご使用ください。
*
* ※1.50にてそこそこ大きなアップデートを行った影響で、
* 弾の設定項目に大幅な変更があります。既に過去バージョンを使用している場合は
* お手数ですが再設定をお願いいたします。
*
*
*
* ■更新履歴
* 11/11 ver1.51・バグを修正
* ・自機の発射切り替えを可能にする機能を実装
* ・隊列メンバーにも自機と同時に発射させる機能を実装
* 11/04 ver1.50・バグを修正
* ・ホーミング機能を追加
* ・画像の暗号化に対応
*
* ―――――――2025―――――――――――――――――――――――
*
* 9/25 ver1.41・バグを修正
* 9/09 ver1.40・自機の弾の角度固定機能を実装
* ・自機の弾増減機能を実装
* ・バグを修正
* 8/09 ver1.30・スイッチで自機の弾発射を制限できる機能を実装
* ・文章表示中の自機の弾発射を制限できる機能を実装
* 7/17 ver1.20・画像のインデックスに対応するように修正
* ・透明度の当たり判定を正常に判定できるように修正
* 7/16 ver1.10・被弾した対象のIDを変数に格納できる機能を実装
* ・リージョン・地形タグ設定で弾が消える機能を実装
* ・複数の弾が当たっても被弾処理を一回になるよう修正
* ・バグを修正
* 7/15 ver1.00公開
プラグインのヘルプ:
* @target MZ * @plugindesc ピクチャを弾として発射します。 * @author Rimu * * @help * * ■使用方法 * プラグインコマンド「弾の発射」を使うことでイベントから弾を発射できます。 * 各パラメーターを設定の上ご使用ください。 * * ※1.50にてそこそこ大きなアップデートを行った影響で、 * 弾の設定項目に大幅な変更があります。既に過去バージョンを使用している場合は * お手数ですが再設定をお願いいたします。 * * * * ■更新履歴 * 11/11 ver1.51・バグを修正 * ・自機の発射切り替えを可能にする機能を実装 * ・隊列メンバーにも自機と同時に発射させる機能を実装 * 11/04 ver1.50・バグを修正 * ・ホーミング機能を追加 * ・画像の暗号化に対応 * * ―――――――2025――――――――――――――――――――――― * * 9/25 ver1.41・バグを修正 * 9/09 ver1.40・自機の弾の角度固定機能を実装 * ・自機の弾増減機能を実装 * ・バグを修正 * 8/09 ver1.30・スイッチで自機の弾発射を制限できる機能を実装 * ・文章表示中の自機の弾発射を制限できる機能を実装 * 7/17 ver1.20・画像のインデックスに対応するように修正 * ・透明度の当たり判定を正常に判定できるように修正 * 7/16 ver1.10・被弾した対象のIDを変数に格納できる機能を実装 * ・リージョン・地形タグ設定で弾が消える機能を実装 * ・複数の弾が当たっても被弾処理を一回になるよう修正 * ・バグを修正 * 7/15 ver1.00公開 * * * @param PlayerBullet * @text 自機が弾を発射するか * @desc 自機が弾を発射できるようになります。 * @type boolean * @default false * * @param FollowerBullet * @text 隊列メンバーが弾を発射するか * @desc 隊列メンバーに自機と同時に弾を発射させます。 * @type boolean * @default false * * @param PlayerBulletKey * @text 発射するキー * @desc 任意のキーを設定できます。(デフォルトはS) * @default S * * @param LimitSetP * @text 発射制限設定 * @type struct * @desc 発射制限設定 * * @param BulletSetP * @text 弾の設定 * @type struct * @desc 弾の設定 * * @param TargetP * @text 被弾対象 * @desc 被弾する対象です。プレイヤーの場合は-1、イベントの場合はIDを入力してください。(複数可「1,2,3」、「1~3」など) * @default 1 * * @param DeleteWallP * @text 当たると消える壁等 * @desc 地形タグやリージョンIDを入れてください。そこに当たると弾が消滅します。 * @default 1 * * @param HitBulletP * @text 当たった時の処理 * @type struct * @desc 弾が当たった際の処理 * * * * * @command BulletSettingChange * @text 自機の弾設定変更 * @desc 自機の撃つ弾の設定を変更します * * @arg PlayerBulletChange * @text 自機が弾を発射するか * @desc 自機の弾の発射を切り替えられます。 * @type boolean * @default true * * @arg FollowerBulletChange * @text 隊列メンバーが弾を発射するか * @desc 隊列メンバーに自機と同時に弾を発射させるか切り替えられます。 * @type boolean * @default false * * @arg LimitChange * @text 発射制限設定 * @type struct * @desc 発射制限設定 * * @arg BulletChange * @text 弾の設定 * @type struct * @desc 弾の設定 * * @arg TargetChange * @text 被弾対象 * @desc 被弾する対象です。プレイヤーの場合は-1、イベントの場合はIDを入力してください。(複数可「1,2,3」、「1~3」など) * @default -1 * * @arg DeleteWallChange * @text 当たると消える壁等 * @desc 地形タグやリージョンIDを入れてください。そこに当たると弾が消滅します。 * @default 1 * * @arg HitBulletChange * @text 当たった時の処理 * @type struct * @desc 弾が当たった際の処理 * * * * @command AddBullet * @text 弾を発射 * @desc これを呼び出したイベントからピクチャを弾として発射します。 * * @arg Image * @text 画像 * @type file * @require 1 * @dir img * @desc 弾として表示する画像ファイルです。 * * @arg Sound * @text 効果音 * @type file * @dir audio/se * @desc 発射した時の効果音です。 * * @arg BulletNumber * @text 弾の数 * @desc 一度に撃ち出す弾の数です。変数指定可能。 * @default 1 * * @arg BulletSpace * @text 弾の間隔 * @default 1 * @desc 撃ち出す弾が複数の場合の間隔です。 * * @arg BulletSpeed * @text 弾の速度 * @default 5 * @desc 撃ち出す弾の速度です。 * * @arg BulletSizeY * @text 弾の大きさ * @default 10 * @desc 撃ち出す弾の大きさです。 * * @arg BulletSizeX * @text 弾の横幅 * @desc 撃ち出す弾の横幅です。1で正方形になります。 * @default 1 * * @arg PlayerTarget * @text 自機狙い * @desc 角度の基準を自機(またはターゲット)狙いにするかどうかです。 * @type boolean * @default true * * @arg Angle * @text 角度 * @desc 基準(イベントの向き)からの角度です。変数指定可能。 * @default 0 * * @arg Easing * @text 速度のイージング * @desc 速度に緩急を付けられます。 * @type select * @option 変化なし * @value linear * @option だんだん早くなる * @value easeIn * @option だんだん遅くなる * @value easeOut * @default linear * * @arg blendMode * @text 弾の合成方法 * @desc 弾の合成方法です。 * @type select * @option 通常 * @value 0 * @option 加算 * @value 1 * @option 乗算 * @value 2 * @option スクリーン * @value 3 * @default 0 * * @arg Target * @text 被弾対象 * @desc 被弾する対象です。プレイヤーの場合は-1、イベントの場合はIDを入力してください。(複数可「1,2,3」、「1~3」など) * @default -1 * * @arg TargetFollowers * @text 隊列を対象にする * @type boolean * @desc 隊列の仲間を対象にするかどうかです。 * @default false * * @arg TransparencyCheck * @text 不透明度が無い所を判定するか * @type boolean * @desc ピクチャの不透明度が無い場所も当たり判定として使用するかを選択します。 * @default false * * @arg EventFollow * @text 弾の追従 * @desc 指定したターゲットに追従するかの設定。 * @type struct * * @arg DeleteWall * @text 当たると消える壁等 * @desc 地形タグやリージョンIDを入れてください。そこに当たると弾が消滅します。 * @default 1 * * @arg HitBullet * @text 当たった時の処理 * @type struct * @desc 弾が当たった際の処理 * * * * @command NotBulletHit * @text 弾のすり抜け * @desc 弾がすり抜けるようになります。 * * * * @command NotnotBulletHit * @text すり抜け解除 * @desc 弾のすり抜けを解除します。 * * */ /*~struct~LimitSettingP: * @param PBulletSwitch * @text 発射制限スイッチ * @desc 指定したスイッチをオンにすると * 弾の発射を制限します(なしで無制限) * @type switch * @default 0 * * @param Messagelimit * @text メッセージ表示中制限 * @desc メッセージ表示中の間弾の発射を制限します。 * @type boolean * @default true */ /*~struct~EventTargetP: * @param FollowP * @text 弾の追従 * @type boolean * @desc 追従するかを決定します。 * @default false * * @param FollowMethodP * @text 追従対象 * @type select * @option 一番近い相手を追従 * @value near * @option 一番遠い相手を追従 * @value far * @option 近い順から順番に追従(複数のみ) * @value closestorder * @option ランダムに追従 * @value random * @default near * @desc 追従する対象を決定します。 * * @param FollowSpeedP * @text 追従速度 * @type number * @desc 初期角度から弾がどの程度追従するかを決定します。 * @default 5 * @max 10 */ /*~struct~AngleSettingP: * @param AnglefixedP * @text 方向固定 * @desc 指定した方向に弾を固定するかどうかを設定します。 * @type boolean * @default false * * @param AngleP * @text 指定方向 * @desc 方向を固定する場合の方向を設定します。 * @type select * @option 下 * @value 2 * @option 上 * @value 8 * @option 右 * @value 4 * @option 左 * @value 6 * @option 右下 * @value 3 * @option 左下 * @value 1 * @option 右上 * @value 9 * @option 左上 * @value 7 * @default 8 */ /*~struct~BulletSettingP: * * @param ImageP * @text 画像 * @type file * @require 1 * @dir img * @desc 弾として表示する画像ファイルです。 * * @param SoundP * @text 効果音 * @type file * @dir audio/se * @desc 発射した時の効果音です。 * * @param BulletNumberP * @text 弾の数 * @desc 一度に撃ち出す弾の数です。変数指定可能。 * @default 1 * * @param BulletSpaceP * @text 弾の間隔 * @default 1 * @desc 撃ち出す弾が複数の場合の間隔です。 * * @param BulletSpeedP * @text 弾の速度 * @default 5 * @desc 撃ち出す弾の速度です。 * * @param BulletSizeYP * @text 弾の大きさ * @default 10 * @desc 撃ち出す弾の大きさです。 * * @param BulletSizeXP * @text 弾の横幅 * @desc 撃ち出す弾の横幅です。1で正方形になります。 * @default 1 * * @param EasingP * @text 速度のイージング * @desc 速度に緩急を付けられます。 * @type select * @option 変化なし * @value linear * @option だんだん早くなる * @value easeIn * @option だんだん遅くなる * @value easeOut * @default linear * * @param blendModeP * @text 弾の合成方法 * @type select * @option 通常 * @value 0 * @option 加算 * @value 1 * @option 乗算 * @value 2 * @option スクリーン * @value 3 * @default 0 * * @param EventFollowP * @text 弾の追従 * @desc 指定したターゲットに追従するかの設定。 * @type struct * * @param AngleSetP * @text 弾の角度固定設定 * @type struct * @desc 弾の角度固定設定 * * @param TransparencyCheckP * @text 不透明度が無い所を判定するか * @type boolean * @desc ピクチャの不透明度が無い場所も当たり判定として使用するかを選択します。 * @default false * * */ /*~struct~HitEventP: * @param DeleteBulletP * @text 弾の削除 * @type boolean * @desc 弾が当たった時に弾を削除します。 * @default true * * @param HitTargetP * @text 対象格納変数 * @type variable * @desc 弾が当たった相手を格納する変数です。 * @default 0 * * @param HitCommonP * @text コモンイベント * @type common_event * @desc 弾が当たった際に起動するコモンイベントです。 * @default 0 * * @param HitSwitchP * @text スイッチ * @type switch * @desc 弾が当たった際にonになるスイッチです。 * @default 0 */ /*~struct~HitEvent: * @param DeleteBullet * @text 弾の削除 * @type boolean * @desc 弾が当たった時に弾を削除します。 * @default true * * @param HitTarget * @text 対象格納変数 * @type variable * @desc 弾が当たった相手を格納する変数です。 * @default 0 * * @param HitCommon * @text コモンイベント * @type common_event * @desc 弾が当たった際に起動するコモンイベントです。 * @default 0 * * @param HitSwitch * @text スイッチ * @type switch * @desc 弾が当たった際にonになるスイッチです。 * @default 0 */ /*~struct~EventTarget: * @param Follow * @text 弾の追従 * @type boolean * @desc 追従するかを決定します。 * @default false * * @param FollowMethod * @text 追従対象 * @type select * @option 一番近い相手を追従 * @value near * @option 一番遠い相手を追従 * @value far * @option 近い順から順番に追従(複数のみ) * @value closestorder * @option ランダムに追従 * @value random * @default near * @desc 追従する対象を決定します。 * * @param FollowSpeed * @text 追従速度 * @type number * @desc 初期角度から弾がどの程度追従するかを決定します。 * @default 5 * @max 10 */ /*~struct~LimitSettingChange: * @param PBulletSwitchChange * @text 発射制限スイッチ * @desc 指定したスイッチをオンにすると * 弾の発射を制限します(なしで無制限) * @type switch * @default 0 * * @param MessagelimitChange * @text メッセージ表示中制限 * @desc メッセージ表示中の間弾の発射を制限します。 * @type boolean * @default true */ /*~struct~BulletSetChange: * * @param ImageChange * @text 画像 * @type file * @require 1 * @dir img * @desc 弾として表示する画像ファイルです。 * * @param SoundChange * @text 効果音 * @type file * @dir audio/se * @desc 発射した時の効果音です。 * * @param BulletNumberChange * @text 弾の数 * @desc 一度に撃ち出す弾の数です。変数指定可能。 * @default 1 * * @param BulletSpaceChange * @text 弾の間隔 * @default 1 * @desc 撃ち出す弾が複数の場合の間隔です。 * * @param BulletSpeedChange * @text 弾の速度 * @default 5 * @desc 撃ち出す弾の速度です。 * * @param BulletSizeYChange * @text 弾の大きさ * @default 10 * @desc 撃ち出す弾の大きさです。 * * @param BulletSizeXChange * @text 弾の横幅 * @desc 撃ち出す弾の横幅です。1で正方形になります。 * @default 1 * * @param EasingChange * @text 速度のイージング * @desc 速度に緩急を付けられます。 * @type select * @option 変化なし * @value linear * @option だんだん早くなる * @value easeIn * @option だんだん遅くなる * @value easeOut * @default linear * * @param blendModeChange * @text 弾の合成方法 * @type select * @option 通常 * @value 0 * @option 加算 * @value 1 * @option 乗算 * @value 2 * @option スクリーン * @value 3 * @default 0 * * @param EventFollowChange * @text 弾の追従 * @desc 指定したターゲットに追従するかの設定。 * @type struct * * @param AngleSetChange * @text 弾の角度固定設定 * @type struct * @desc 弾の角度固定設定 * * @param TransparencyCheckChange * @text 不透明度が無い所を判定するか * @type boolean * @desc ピクチャの不透明度が無い場所も当たり判定として使用するかを選択します。 * @default false * */ /*~struct~EventTargetChange: * @param FollowChange * @text 弾の追従 * @type boolean * @desc 追従するかを決定します。 * @default true * * @param FollowMethodChange * @text 追従対象 * @type select * @option 一番近い相手を追従 * @value near * @option 一番遠い相手を追従 * @value far * @option 近い順から順番に追従(複数のみ) * @value closestorder * @option ランダムに追従 * @value random * @default near * @desc 追従する対象を決定します。 * * @param FollowSpeedChange * @text 追従速度 * @type number * @desc 初期角度から弾がどの程度追従するかを決定します。 * @default 5 * @max 10 */ /*~struct~AngleSettingChange: * @param AnglefixedChange * @text 方向固定 * @desc 指定した方向に弾を固定するかどうかを設定します。 * @type boolean * @default false * * @param AngleChange * @text 指定方向 * @desc 方向を固定する場合の方向を設定します。 * @type select * @option 下 * @value 2 * @option 上 * @value 8 * @option 右 * @value 4 * @option 左 * @value 6 * @option 右下 * @value 3 * @option 左下 * @value 1 * @option 右上 * @value 9 * @option 左上 * @value 7 * @default 8 */ /*~struct~HitEventChange: * @param DeleteBulletChange * @text 弾の削除 * @type boolean * @desc 弾が当たった時に弾を削除します。 * @default true * * @param HitTargetChange * @text 対象格納変数 * @type variable * @desc 弾が当たった相手を格納する変数です。 * @default 0 * * @param HitCommonChange * @text コモンイベント * @type common_event * @desc 弾が当たった際に起動するコモンイベントです。 * @default 0 * * @param HitSwitchChange * @text スイッチ * @type switch * @desc 弾が当たった際にonになるスイッチです。 * @default 0 */