TsumioActionsにおけるキー入力の変更について

SAI
記事: 19
登録日時: 2016年3月23日(水) 17:39

TsumioActionsにおけるキー入力の変更について

投稿記事by SAI » 2021年4月20日(火) 15:20

皆様、いつもお世話になっております。
表題の件に関してご助力をお願いします。

ツミオ様の【特殊なアクションを実装】プラグイン
(TsumioActions.js)

こちらのプラグインをお借りしております。
【アクション時=決定キー】こちらで様々なアクションが実現できる大変素晴らしいプラグインなのですが、
決定キー以外でアクションを実装することは可能でしょうか?
(例えば、「A」「S」「D」などのアルファベットキーなど)
あるいは、shiftキー+決定キーなどでアクションを実装できれば…とも思っています。

フォーラムの方でご本人様に質問させていただくことも考えましたが、ご本人様の投稿ペースからご多忙と判断し、まずはこちらでご相談させていただくことといたしました。
(不適切であるようならば削除いたします)

お力添えのほどよろしくお願いいたします。

https://forum.tkool.jp/index.php?threads/%E3%80%90%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%80%91%E7%89%B9%E6%AE%8A%E3%81%AA%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%AE%9F%E8%A3%85.669/

アバター
WTR
記事: 558
登録日時: 2015年12月22日(火) 19:14

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by WTR » 2021年4月20日(火) 23:38

何の確認もしてないですが
Game_Player.prototype.updateActions() が入力監視をしていそうなので
ここだけ切り抜いたパッチを作れば対応できそうな気がします。

コード: 全て選択

(() => {
   "use strict";
   Game_Player.prototype.updateActions = function() {
      if(Input.isTriggered('ok')) {
         Actions_Manager.fireAction();
      }

      if(Input.isTriggered('pagedown')) {
         Actions_Manager.setNextAction();
      }else if(Input.isTriggered('pageup')){
         Actions_Manager.setPrevAction();
      }
   };
})();

このままだと何も起こりません。

コード: 全て選択

if(Input.isTriggered('ok'))


コード: 全て選択

if(Input.isPressed('shift') && Input.isTriggered('ok'))

にしたら Shift + OK にできそうです。

A, S, D 等はデフォルトでは使えないキーなのでまず keyMapper に追加するところからですね。

コード: 全て選択

(() => {
   "use strict";
   Input.keyMapper[65] = "A";
   Input.keyMapper[68] = "D";
   Input.keyMapper[83] = "S";
})();

キーコード参考
http://faq.creasus.net/04/0131/CharCode.html

これで

コード: 全て選択

if(Input.isTriggered("A"))

とか書くことができます。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
SAI
記事: 19
登録日時: 2016年3月23日(水) 17:39

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by SAI » 2021年4月21日(水) 23:02

WTR様

ご多忙の中、ご助力いただきありがとうございます。
ツクマテではないフォーラムからのご質問に、パッチまで作っていただき恐縮です。

しかしながら自分がパッチの概念をよく理解できておらず、せっかく教えていただいた内容をどのように試していいのかがわかりません。
作っていただいたパッチは、ツミオ様のTsumioActions.jsに貼り付けて使用する…という認識でよろしいのでしょうか?
(もしそうだとして、どこにどのように貼り付けていいものなのでしょうか…?

初歩的な質問でお恥ずかしいのですが、ご教授のほどよろしくお願いいたします。
アバター
WTR
記事: 558
登録日時: 2015年12月22日(火) 19:14

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by WTR » 2021年4月21日(水) 23:15

まるごとコピーして適当な名前をつけて保存してプラグインとして登録してください。

コード: 全て選択

(() => {
   "use strict";
   Game_Player.prototype.updateActions = function() {
      if(Input.isPressed('shift') && Input.isTriggered('ok')) {
         Actions_Manager.fireAction();
      }

      if(Input.isTriggered('pagedown')) {
         Actions_Manager.setNextAction();
      }else if(Input.isTriggered('pageup')){
         Actions_Manager.setPrevAction();
      }
   };
})();

以下も同様、プラグインとして登録してもらえばいいものですが
Shift + Ok いいなら不要ですね。

コード: 全て選択

(() => {
   "use strict";
   Input.keyMapper[65] = "A";
   Input.keyMapper[68] = "D";
   Input.keyMapper[83] = "S";
})();
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
SAI
記事: 19
登録日時: 2016年3月23日(水) 17:39

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by SAI » 2021年4月22日(木) 13:57

WTR様

早速のご対応ありがとうございます。
初心者にも関わらず親切に説明していただき、恐縮です。

ひとまず教えて頂いた方法で、実践してみました。
しかしながら実現できず困惑しています。私の方法が間違っている/思い違いをしている可能性も高いので、何度も申し訳ないのですが改めてチェックとご教授を願います。

なお入力キーはshift+決定キーで実現できれば、と思い、まずはそちらだけ試してみました。

====
「問題」
shift+決定キー、でのみ発射/発動したいが、決定キーだけでも作動してしまう。
(=追加パッチプラグインを正しく作成/設置できていないため?

「環境」
・MVのバージョンは1.6.3(おそらく最新

「方法」
・前回作成して頂いた内容をコピペし、追加パッチを作成。
・設置個所の順番は、tumio様プラグインの前後と関係あるのか不明だったので、それぞれで試運転。
 何度か再起動してみたものの、状況は変わらず。
・tumio様プラグインそのものはノータッチです。


以下に、私が作成してみたパッチを添付いたしました。
ご参照ください。
添付ファイル
tumiopach2.js
(396 バイト) ダウンロード数: 3 回
アバター
WTR
記事: 558
登録日時: 2015年12月22日(火) 19:14

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by WTR » 2021年4月22日(木) 14:23

f8 でコンソール開くと syntax error 出ていないでしょうか。
変更した if 文のところに "{" が足りないようです。

追記 パッチはプラグイン本体より下に配置してください。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
SAI
記事: 19
登録日時: 2016年3月23日(水) 17:39

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by SAI » 2021年4月22日(木) 17:40

WTR様

お返事ありがとうございます。
ご素敵されていた箇所ですが、確かに"{"が抜けておりました。
せっかく教えていただいたのに正しく使用できておらず、ご迷惑をおかけしました…。

そこで新たに教えていただいたパッチプラグインを作り直し、再度チャレンジしてみました。
(パッチプラグインの順番も、下部に設置しました)

しかしながら、下記のエラーがでてしまいました。
(ReferenceError Actions_Manager is not defined)
状況としては、テストプレイ開始→アクションの切り替えを行うために、Q/Wキーを押した直後です。

念のため、再度作り直したパッチを添付いたします。
何度も申し訳ありませんが、ご助力いただければと思います。
添付ファイル
tumiopach2_1.js
(400 バイト) ダウンロード数: 1 回
アバター
WTR
記事: 558
登録日時: 2015年12月22日(火) 19:14

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by WTR » 2021年4月22日(木) 18:10

すみません…
何の確認もせずに適当なことを言ってしまったせいですね…

プラグイン本体の該当関数 Game_Player.prototype.updateActions() を直接編集すれば(たぶん)動くと思いますけど
それでいいかなぁ 本当は素材そのものに手を入れたくない気がしますが…
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
SAI
記事: 19
登録日時: 2016年3月23日(水) 17:39

Re: TsumioActionsにおけるキー入力の変更について

投稿記事by SAI » 2021年4月22日(木) 18:19

WTR様

何度もお手数をおかけしてすみません。
エラーの原因を解決するためには、プラグイン本体に何らかの手を加えないと難しい、という事なのですね。

もとの作者様(ツミオ様)に直接コンタクトを取らずに、あれこれ質問をしていた私の不作法で、お手を煩わせてしまっていたようで非常に申し訳なく思います。

ひとまず、…というよりも まずは作者様に連絡を取ってみようと思います。
WTR様には何度もご助力いただき、ありがとうございました。
パッチの使い方など、知らないことも多かったので大変助かりました。

進捗・ご報告などあれば、またこちらで追記できればと思います。

“MV:質問” へ戻る