キーボード入力を検知するイベントでShiftを押していないと検知したりしなかったりする
Posted: 2023年1月01日(日) 19:51
あけましておめでとうございます!
「おすそわけプレイ」のようなサブでコントロール出来るキャラクターを作りたいと考えています。
2点質問です。
①キーボード入力を検知するイベントでShiftを押していないと必須で検知しない
※以下の検証は新規プロジェクトで実施しています、プラグインなどは追加していません
※環境:Windows 、RPGツクールMV1.6.3 、rpg_core.js v1.6.2
やったとこと記載します。
これによって「イベント1」自体は操作できそうなのですが、ボタンを押してもたまにしか動いてくれません。
▼発生している事象、確認したこと
原因などがわかればご教示お願いできればと思います。
②そもそもサブキャラの操作方法について
上記の方法の前に、通常キャラクターを動かしている部分を参考にサブキャラクターを操作できないかと考えていました
→$gamePlayer関連のmoveっぽい要素を複製すればいける?
ただそちらは難易度が高く諦めました…
今回のような通常キャラクターとは別のキャラクターを同時に操作する(おすそわけプレイのイメージ)方法やプラグインなどがもしあれば教えていただけると嬉しいです。
「おすそわけプレイ」のようなサブでコントロール出来るキャラクターを作りたいと考えています。
- メインプレイヤーは通常通り移動などできる
- サブプレイヤーはキーボードのWASDで上左下右で移動できる
- サブプレイヤーも前方を調べてアイテムを拾ったりできる(イベントを実行出来る)
2点質問です。
①キーボード入力を検知するイベントでShiftを押していないと必須で検知しない
※以下の検証は新規プロジェクトで実施しています、プラグインなどは追加していません
※環境:Windows 、RPGツクールMV1.6.3 、rpg_core.js v1.6.2
やったとこと記載します。
- スマイル工房 ブログ室様(http://blog.livedoor.jp/trb_surasura/archives/13728522.html)を参考にさせていただき、Input.keyMapperにWASDを追加しました
- マップ上に並列処理イベントを置き、イベント1のキャラクターを操作する下記のようなイベントを追加しました。
コード: 全て選択
◆条件分岐:スクリプト:Input.isPressed('skey')
◆スクリプト:console.log("ssssssss")
◆移動ルートの設定:EV001 (飛ばす, ウェイト)
: :◇移動速度:4
: :◇下に移動
◆イベント処理の中断
◆
:分岐終了
◆条件分岐:スクリプト:Input.isPressed('wkey')
◆スクリプト:console.log("wwwwwwww")
◆移動ルートの設定:EV001 (飛ばす, ウェイト)
: :◇移動速度:4
: :◇上に移動
◆イベント処理の中断
◆
:分岐終了
~同様にAとDも設定~
▼発生している事象、確認したこと
- 10回に1回くらいで移動する
- console.log("ssssssss")なども移動した時以外は出力されないのでそもそも条件分岐にヒットしていないっぽい
- ボタンを押したとき、rpg_core.js内のInput._onKeyDownでInput._currentState[buttonName]はTrueになっている(押下自体は実行されているっぽい)
- Shiftを押しながらWASDキーを押すと必ず動いてくれる(Shift+sで必ず下に移動してくれる)
- Optionで「常時ダッシュON」にしても関係ない
- caps lockしても関係ない(そもそもキーコードで判定していて大文字小文字は区別していない認識)
原因などがわかればご教示お願いできればと思います。
②そもそもサブキャラの操作方法について
上記の方法の前に、通常キャラクターを動かしている部分を参考にサブキャラクターを操作できないかと考えていました
→$gamePlayer関連のmoveっぽい要素を複製すればいける?
ただそちらは難易度が高く諦めました…
今回のような通常キャラクターとは別のキャラクターを同時に操作する(おすそわけプレイのイメージ)方法やプラグインなどがもしあれば教えていただけると嬉しいです。