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

#ツクプラ

RPGツクールフェスの回転移動を再現 - FesSpin.js

シェア用テキスト:
▼RPGツクールフェスの回転移動を再現(あわやまたな様作) - FesSpin.js
https://plugin.fungamemake.com/archives/31768
RPGツクールフェスの回転移動を再現します。

ふりがな:RPGつくーるふぇすのかいてんいどうをさいげん

機能概要: RPGツクールフェスの回転移動を再現します。

利用規約(ライセンス): MITライセンス

作者:あわやまたな

作者サイト:https://awaya3ji.seesaa.net/

解説ページ:https://awaya3ji.seesaa.net/article/482163453.html

ファイル名:FesSpin.js

プラグインのヘルプ:

/*:ja
* @target MV MZ
* @orderBefore ReplaceTargetCharacter
* @plugindesc RPGツクールフェスの回転移動を再現します。
* @author あわやまたな (Awaya_Matana)
* @url https://awaya3ji.seesaa.net/article/482163453.html
* @help 回転移動を制御するためには移動コマンドの[スクリプト]、
* もしくはイベントコマンドの[スクリプト]、[プラグインコマンド]を利用します。
* 【スクリプト(移動コマンド)】
* 回転移動
* this.spin(真偽値);
* 移動するたびに回転します。
*
* 常に回転
* this.alwaysSpin(真偽値);
* 移動に関係なく回転し続けます。
*
* 逆回転
* this.reverseSpin(真偽値);
* 左回転させます。
*
* 回転ウェイト
* this.setSpinWait(フレーム数);
* 指定したウェイトで90度回転します。
*
* 真偽値:trueまたはfalseを入力します。
* 未入力でトグル。
*
* フレーム数:経過する度に90度回転します。
* 0で自動算出。
*
* 【スクリプト(イベントコマンド)】
* プレイヤーの回転を制御する時
* $gamePlayer.spin(真偽値);
* $gamePlayer.alwaysSpin(真偽値);
* $gamePlayer.reverseSpin(真偽値);
* $gamePlayer.setSpinWait(フレーム数);
* イベントの回転を制御する時
* this.character(キャラクターID).spin(真偽値);
* this.character(キャラクターID).alwaysSpin(真偽値);
* this.character(キャラクターID).reverseSpin(真偽値);
* this.character(キャラクターID).setSpinWait(フレーム数);
*
* キャラクターID:キャラクターIDを入力します。
* 0にするとこのイベント、-1にするとプレイヤーに効果があります。
*
* 【プラグインコマンド(MV)】※MZはイベントコマンド[プラグインコマンド]から説明を読んでください。
* 回転移動
* fesSpin キャラクターID 真偽値
*
* 常に回転
* fesSpin always キャラクターID 真偽値
*
* 逆回転
* fesSpin reverse キャラクターID 真偽値
*
* 回転ウェイト
* fesSpin wait キャラクターID フレーム数
* 
* キャラクターID:キャラクターIDを入力します。
* 0にするとこのイベント、-1にするとプレイヤーに効果があります。
*
* 真偽値:trueで有効化。falseで無効化。
* 未入力でトグル。
*
* フレーム数:経過する度に90度回転します。
* 0、未入力、またはautoで自動算出。
*
* [オプション]
* イベントの一行目に注釈を置き入力します。
* <fesSpin>
* ページ切り替え時に最初から回転移動がセットされます。
* <alwaysSpin>
* ページ切り替え時に最初から常に回転します。
* <reverseSpin>
* ページ切り替え時に最初から逆回転します。
* <spinWait:フレーム数>
* ページ切り替え時に回転のウェイトを設定します。
*
* [仕様]
* 通常、1マス移動につき一回転。
* 移動コマンドで、連続で1歩しか動かさなかった場合は半回転。
* (手動で設定した場合を除く)
* PluginCommonBaseがあっても無くても動作します。
* MV/MZ共に使用可能。
*
* [更新履歴]
* 2020/10/31:α版リリース
* 2020/11/01:β版。歩行、足踏みのアニメーションに割り込ませていた処理を独立させ、不具合を全て解消。
*            コマンドで一歩しか動かさなかった時に半回転になる仕様を追加。
* 2020/11/01:RPGツクールMVでも動くように改良。
* 2020/11/01:不具合を修正。また、競合を減らすため、既存の関数は上書きせずフックする処理に変更した。
*            このまま正式にリリースしてもいいかも。
* 2020/11/01:PluginCommonBaseがあっても無くても動くように。無かったらMZのデフォルトの機能を使用します。
* 2020/11/02:主に[動作を繰り返す]絡みの半回転時の挙動を修正。また、自律移動でも半回転の仕様を実現。
*            通常の回転速度は移動速度7、半回転は速度8まで移動速度と連動可能(多分)。
*            コードの可読性アップ。キリが良くなったのでひとまず公開。
* 2020/11/02:セルフスイッチ「ハロルド」を廃止して、独自の変数で状態を管理。処理数も少なくなった。
* 2020/11/03:Ver.1.0.0 多分まともなプラグインになったのでVer.1.0.0とします。プラグインパラメータを追加。
* 2020/11/04:Ver.1.0.1 リファクタリング。プラグインコマンドの処理とフォロワーの更新処理を最適化。
* 2020/11/06:Ver.1.1.0 プラグインコマンドの処理を変更。英語版ヘルプを追加。(DeepL翻訳を使用)
* 2020/11/10:Ver.1.2.0 バグの修正。プラグインパラメータの削除。
* 2020/11/11:Ver.1.2.1 バグの修正。
* 2020/11/12:Ver.1.3.0 バグの修正。オプションの追加。
* 2020/11/23:Ver.1.3.1 リファクタリング。
* 2020/11/23:Ver.1.3.2 リファクタリング。
* 2020/12/02:Ver.1.3.3 リファクタリング。
* 2020/12/09:Ver.1.3.4 リファクタリング。
* 2021/06/26:Ver.1.3.5 バグの修正。
* 2021/07/21:Ver.1.4.0 バグの修正。競合対策。処理の効率化。
* 2021/08/07:Ver.1.4.1 バグの修正。
* 2022/01/05:Ver.1.5.0 バグ修正。処理の効率化。distancePerFrame書き換えにも対応。
* 2022/11/23:Ver.2.0.0 ページ別設定を注釈に変更。
* 2023/02/23:Ver.3.0.0 「常に回転」を追加。移動に関わらず自由に回転を制御可能に。
* 2023/02/25:Ver.4.0.0 リニューアル。プラグインコマンドの互換性はありません。
* 2023/03/16:Ver.4.0.1 致命的な不具合を修正。
* 2023/03/19:Ver.4.0.2 イベント起動時の挙動を一貫性のあるものに修正。
* 2023/10/14:Ver.5.0.0 回転速度を自動にした時の不具合を修正。逆回転を追加。
* 2023/12/29:Ver.5.1.0 隊列メンバーの挙動修正。自動算出の条件を修正。競合対策。
* 2024/01/05:Ver.5.1.1 隊列メンバーの挙動修正。
* 2024/01/20:Ver.5.1.2 隊列メンバーの挙動修正。
*
* @command spin
* @text 回転移動
* @desc 回転しながら移動します。
*
* @arg id
* @text キャラクターID
* @desc キャラクターのIDを指定します。
* このイベント:0  プレイヤー:-1
* @default -1
*
* @arg ope
* @text 操作
* @desc 操作を指定します。
* 未入力でトグル。
* @default true
* @type boolean
*
* @command alwaysSpin
* @text 常に回転
* @desc 移動の有無に関わらず常に回転します。
*
* @arg id
* @text キャラクターID
* @desc キャラクターのIDを指定します。
* このイベント:0  プレイヤー:-1
* @default -1
*
* @arg ope
* @text 操作
* @desc 操作を指定します。
* 未入力でトグル。
* @default true
* @type boolean
*
* @command reverseSpin
* @text 逆回転
* @desc 左回転にします。
*
* @arg id
* @text キャラクターID
* @desc キャラクターのIDを指定します。
* このイベント:0  プレイヤー:-1
* @default -1
*
* @arg ope
* @text 操作
* @desc 操作を指定します。
* 未入力でトグル。
* @default true
* @type boolean
*
* @command setSpinWait
* @text 回転ウェイト
* @desc 90度回転するまでのウェイトを設定します。
*
* @arg id
* @text キャラクターID
* @desc キャラクターのIDを指定します。
* このイベント:0  プレイヤー:-1
* @default -1
*
* @arg frames
* @text フレーム数
* @desc 指定したフレーム数経過すると90度回転します。
* 未入力、0、autoで自動。
* @default auto
*
* @param tryHalfSpin
* @text 半回転を試みる
* @desc 移動コマンドで、連続で1歩しか動かさなかった場合は半回転します。(手動で設定した場合を除く)
* @type boolean
* @default true
*/

スポンサードリンク

スポンサードリンク

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