ページ 1 / 1
【解決済み】メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月05日(火) 13:07
by にゃたま
こんにちは。
メニューを開くとキャンセルを分離させることはできるでしょうか?
キャンセル兼ダッシュにしてボタンに割り当てたいです。
メニューを開く専用のボタンというのは難しいでしょうか?
ご存じの方よろしくお願いします。
Re: メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月05日(火) 16:46
by にいやん
こんにちは。
YEP_ButtonCommonEvents.jsが別途必要ですのでYanflyさんのとこからダウンロードして下さい。
これをプラグイン化してみて下さい。デフォルトの配置のXボタンでダッシュとキャンセルが出来るはずです。
コード: 全て選択
Game_Player.prototype.isDashButtonPressed = function() {
var shift = Input.isPressed('cancel');
if (ConfigManager.alwaysDash) {
return !shift;
} else {
return shift;
}
};
Input._isEscapeCompatible = function(keyName) {
return keyName === 'cancel';
};
ただこの方法だと元々あるメニューを呼び出す機能が消失してしまうのでコモンイベントに↓のイベントを組んで下さい。
コード: 全て選択
SEの演奏:Decision1 (90, 100, 0)
メニューを開く
最後にYEP_ButtonCommonEvents.jsで好きなキーにコモンイベントのIDを入れれば動くと思います。
キーからコモンイベントを呼び出せるのであればコレじゃなくても良い気がします。
Re: メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月05日(火) 23:34
by にゃたま
にいやん様
こんばんは。お世話になります。
にいやん さんが書きました:
YEP_ButtonCommonEvents.jsが別途必要ですのでYanflyさんのとこからダウンロードして下さい。
YEP_ButtonCommonEvents.jsは使ったことありませんでしたね。
いままでひきも記さんで公開中のTMCommonEventKeyを使っていたのですがこちらのほうが
いろんなボタンに対応してるので乗り換えました。
にいやん さんが書きました:
これをプラグイン化してみて下さい。デフォルトの配置のXボタンでダッシュとキャンセルが出来るはずです。
コード: 全て選択
Game_Player.prototype.isDashButtonPressed = function() {
var shift = Input.isPressed('cancel');
if (ConfigManager.alwaysDash) {
return !shift;
} else {
return shift;
}
};
Input._isEscapeCompatible = function(keyName) {
return keyName === 'cancel';
};
ただこの方法だと元々あるメニューを呼び出す機能が消失してしまうのでコモンイベントに↓のイベントを組んで下さい。
コード: 全て選択
SEの演奏:Decision1 (90, 100, 0)
メニューを開く
こちらプラグイン化して実行したらPC上では思ったとおりの動作でした。
ゲームパッドを使うとどうなるのかちょっと気になる所ですが
今はXinput対応のゲームパッドないので買ったら試してみます。
とりあえず解決済みといたします。ありがとうございました!!!
Re: 【解決済み】メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月06日(水) 00:25
by にゃたま
にいやん様
解決済みにしたあとで申し訳ないのですが、ダッシュ機能が割り当てられていたシフトキーに
YEP_ButtonCommonEvents.jsでメニューを開くを割り当てたのですが
2度押さないとメニューが開かないのですが私の環境だけなのでしょうか?
できたら一度で開いてほしいのですが…
Re: 【解決済み】メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月06日(水) 01:22
by にいやん
原因は私の方では分かりません。知識不足ですみません。大雑把に調べただけですが条件分岐のボタンで指定できる9つのキーが全て1回の操作では認識しないようです。何かしら他のキーとは違う判定があるのでしょうか。
それからXinputタイプもDirect Inputタイプもこちらで動作確認済みですのでたぶん大丈夫だと思います。元々、ゲームパッドで操作する場合はデフォルトでキャンセルボタンとメニューボタンが分離されています。【メニュー】【キャンセル/メニュー】という二つのボタンが存在し割り当てられてるんです。謎仕様です。この内【キャンセル/メニュー】からメニュー部分を削除しただけですので大丈夫だと思います。
一応、ひとつの解決策としてYEP_KeyboardConfig.jsを入れるだけでshiftキーでも1回でメニューが開くようです。
Re: 【解決済み】メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月06日(水) 10:09
by にゃたま
にいやん様
おはようございます。
にいやん さんが書きました:
それからXinputタイプもDirect Inputタイプもこちらで動作確認済みですのでたぶん大丈夫だと思います。元々、ゲームパッドで操作する場合はデフォルトでキャンセルボタンとメニューボタンが分離されています。【メニュー】【キャンセル/メニュー】という二つのボタンが存在し割り当てられてるんです。謎仕様です。この内【キャンセル/メニュー】からメニュー部分を削除しただけですので大丈夫だと思います。
なんでキーボードでの割り当てとジョイパッドでの割り当てを分けたんでしょうね?
何か意図があるのでしょうか?確かに謎仕様ですね…
動作確認済ということで安心して使用できます。
にいやん さんが書きました:
一応、ひとつの解決策としてYEP_KeyboardConfig.jsを入れるだけでshiftキーでも1回でメニューが開くようです。
なるほどこちらも導入しないといけないのですね。
ただこれはオプション画面にキーボードコンフィグが表示されてしまうのですね。
他のプラグインと競合していてこのコンフィグ画面が使えないので
キーボードコンフィグのコマンドを削除したいのですがどうすれば良いのでしょうかね…
もしご存知でしたら教えていただきたいなと思います。
Re: 【解決済み】メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月06日(水) 11:09
by にいやん
私自身javascriptの知識があるわけではないので競合対策は出来ませんし、どれをどこまで削除して良いのか見当がつきません。shiftキーにこだわるのであれば他の方の助力を頂くしかありません。
Re: 【解決済み】メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月06日(水) 11:23
by にゃたま
にいやん様
にいやん さんが書きました:私自身javascriptの知識があるわけではないので競合対策は出来ませんし、どれをどこまで削除して良いのか見当がつきません。shiftキーにこだわるのであれば他の方の助力を頂くしかありません。
了解しました。一応暫定的にですが対処できたのでなんとかこれで運用してみます。
ありがとうございました。
Re: 【解決済み】メニューを開くとキャンセルボタンを分離させたい
Posted: 2017年9月06日(水) 21:46
by にゃたま
にいやん様
色々調べたんですがKeyMapでshiftキーにメニューを割り当てれることがわかりました。
なのでコモンイベントとか不要になるようです。
Input.keyMapper[16] = 'menu';
通常KeyMapの16番にはshiftが割り当てられてるのでこれをmenuに変更してやるだけみたいです。
一番手軽な方法ですね(^^;
追記
すみません。先程投稿して上記スクリプトで動作してなかったので
調べたら一部記述ミスがありました。
今度は大丈夫のはずです。失礼いたしました。