こんにちは。
今回はRPGツクールMZ用プラグインを作ったのでその内容です。
公開したのはキー入力無効化プラグイン! 任意のタイミングで指定したキーの入力を無効化します。
ダウンロードページ
名前は「ITB_DisableKeyInputs」!(; ・`д・´)
MITライセンスでの公開です。基本的に用途に制限はありませんが詳細はダウンロードページの規約をご確認下さい。
今回も既出でないかポテトードラゴン様作 のリストをチェック済です。
MZツクラー必見プラグインリスト↓
本プラグインの使い方
1.まずはプラグインを導入してください。
導入手順テンプレ↓
①プラグインの.jsファイルを↓へ保存。
プロジェクトフォルダ→js→plugins
②プラグイン管理画面を開く。
ツール→プラグイン管理
③管理画面の空欄をダブルクリックしてプラグイン設定画面を開く。
④プラグイン設定画面の”名前”から保存したプラグインを選ぶ。
⑤”状態”をONにする。
⑥プロジェクトを保存する。
2.プラグインコマンドで”無効化したいキーをtrue”にします。
矢印のところ。
これでイベントが実行されればそれ以降は指定したキーを押しても反応しません。再有効化したいときは値をfalseにしたプラグインコマンドを再度実行することで元に戻せます。
ゲームパッドにも有効です。仮想パッドもゲームアツマールでのみですが検証済。
タッチ操作に関してはオマケと思ってください。trueにするとタッチ操作の全てを無効化します。細かな設定はありません。
※本プラグインは他のインプット系プラグインとの競合対策を考えておりません! 他のインプット系プラグインを併用する場合は管理画面のリストで本プラグインを上にすることをおすすめします。後は他のプラグインが対策していることを祈る!!
紹介終わり。
ここから日記↓
前回の記事でやってみたいことって言ってたのはコレです。連想配列、ちょっとだけ使いました。まぁ普通の変数でも良かったくらいの使い方ですがw
難しいことはしていないのですが無知なのですっごく苦労してます。最初は完成したものとは違った方法で考えていてキーの同時押しに対応できない物になっておりどうしようかと試行錯誤。
やっぱりコアスクリプト内で処理を変えるべき場所を見つけるってことが一番大変ですね、まだ全然読めないし(´-ω-`)
あと注意書きをしましたがコアスクリプトの該当関数をまるごとコピペした上で一部を書き換えているので同じ関数を再定義するプラグインを使うとそのプラグインは効果を失う、或いはエラーを起こす可能性があります。
ツクールMZの公式プラグイン講座だと元の関数を実行した上で加えたい処理を行うような書き方を紹介されているのですがたぶんそのやり方だと上記のようなことを回避できるのだと思います。
その方法を使って一度は書いてみたのですがうまく動かなかったので1回のテストで諦めましたw
まぁキー入力情報になにかをするようなプラグインなんてそんなに使わないでしょうから大丈夫でしょ(;^ω^)
作った目的はチュートリアル作成のためです。チュートリアル中はプレイヤーにさせたい操作とさせたくない操作があるので「このときはこのイベントを無効化して、ここまできたら有効化して今度はあっちのイベントを無効化・・・」って作っていくわけですがハッキリ言って手間です。チュートリアルなんてだいたい1回きりのイベントですからさくっと作りたいですよね。
で、いっそキー入力を制御してしまえ!ってなったんです。
しかしながらタッチUIによる操作を部分的に無効化するようなことはできないのでADVやRPGなどではあまり有用でないかも。
させたくない操作をキー入力無効化で制限してもタッチ操作で突破できてしまうだろうということです。
なのでタッチ操作無効(仮想パッドはOK)などアクションゲーム向けのプラグインになります。
らくがき。
いちおう設定画としている立ち絵を横に置いて見ながら描いたのですがやっぱりなんか違ってしまいます(;´Д`) メニュー画面の背景かなぁ・・・。