【解決済み】YEP_ButtonCommonEventsでボタンの反応を抑制したい

アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

【解決済み】YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by にゃたま » 2017年10月16日(月) 01:21

こんばんは。


YEP_ButtonCommonEventsに関してお聞きしますが
こちらを使用してキーボードのボタンを押し続けるとコモンイベントが何度も実行されつづけますが
2回以上反応してしまうと困るので押した瞬間から離すまでの間に一度のみコモンイベントを実行したい
のですがやり方がわかりません。どなたがご存知でしたら教えていただけないでしょうか?

追記
すみません。あとこちらのプラグインコマンドの意味がよくわからないのでこちらの
使い方も教えていただけないでしょうか?
グーグル先生で翻訳したのですがいまいち意味がわかりませんでした。
最後に編集したユーザー にゃたま on 2017年10月23日(月) 02:21 [ 編集 1 回目 ]

アバター
しぐれん
記事: 972
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by しぐれん » 2017年10月17日(火) 07:16

以前作ったゲームパッドコンフィグの拡張で似たような機能を作る予定があったので、作ります。
(ちょうど自分でも使いたい用事があったのです)

ボタンからコモンイベントを呼び出して何をしたいのか、仕様を確認したいです。
前回のゲームパッドコンフィグにあった画面の画像から、アイテムを1ボタンでフィールドで使う機能と予想しています。
現在、プラグイン依頼はお休み中です。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by にゃたま » 2017年10月17日(火) 10:19

しぐれん様

しぐれん さんが書きました:ボタンからコモンイベントを呼び出して何をしたいのか、仕様を確認したいです。
前回のゲームパッドコンフィグにあった画面の画像から、アイテムを1ボタンでフィールドで使う機能と予想しています。


ご返信いただきありがとうございます。

そのとおりでございます。フィールドで1ボタンでアイテムを使用したいと思います。
要するに連続使用されると回復アイテムとか続けて使いたくないのに使ってしまうからです。
マンカインド様のMKR_MapItemSlot(http://tm.lucky-duet.com/viewtopic.php?f=49&t=3841)
にて指定したキーでアイテムが使用されるようにしており
コモンイベントにてプラグインコマンド「itemslot use 1」を実行するようにしております。
コモンイベントの注釈には以下のように設定しております

コード: 全て選択

<Config Key: ア1>
<Config Text: アイテム1を使用します>
<Config Required> 設定必須

尚、通常のKeyboardConfigを使用しており今のところInputConfigのほうは使用しておりません。
お手数おかけしますがよろしくお願いします。

追記
聖剣などのようなアクションRPGの要素を含んだものにしており、通常のバトル画面は廃止しております。
例えばゲームパッドのLTを押したら上記コモンイベントのアイテム使用により武器なら剣で斬ったりだとかしてみたいですね。
アバター
しぐれん
記事: 972
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by しぐれん » 2017年10月17日(火) 12:25

プラグインは作成中ですので、もうしばらくお待ちください。
二重にアイテムを消費してしまうということですが、アイテムを使うコモンイベントに多重実行防止処理を入れてはどうでしょうか?

コード: 全て選択

◆条件分岐:監視がON
  ◆イベント処理の中断
  ◆
:分岐終了
◆スイッチの操作:#0003 監視 = ON
◆注釈:色々な処理
◆ウェイト:60フレーム
◆スイッチの操作:#0003 監視 = OFF

これなら、多重実行されないと思います。
現在、プラグイン依頼はお休み中です。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by にゃたま » 2017年10月17日(火) 13:57

しぐれん様

しぐれん さんが書きました:プラグインは作成中ですので、もうしばらくお待ちください。
二重にアイテムを消費してしまうということですが、アイテムを使うコモンイベントに多重実行防止処理を入れてはどうでしょうか?


プラグインはお待ちしております。
とりあえずは紹介いただいた方法でなんとかしますが
これですと1秒間押しっぱなしで再度実行されてしまいますし、
押して1秒間は再度使用できないという意味ですのでやはり
理想はボタンを押してロックして実行して離したタイミングで
ロックが解除されて再度使用できるといいですね。
よろしくお願いします。
アバター
しぐれん
記事: 972
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by しぐれん » 2017年10月18日(水) 00:18

公開しました。
上記のイベントコマンドで、ウェイトの時間を延ばせばいい感じに動くと思います。

ただし、前のゲームパッドコンフィグだと一部の拡張機能が使えないので新しいInputConfigへの更新をお勧めします。
http://tm.lucky-duet.com/viewtopic.php?f=5&t=4814&p=17360
現在、プラグイン依頼はお休み中です。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by にゃたま » 2017年10月18日(水) 13:52

しぐれん様

しぐれん さんが書きました:公開しました。
上記のイベントコマンドで、ウェイトの時間を延ばせばいい感じに動くと思います。

ただし、前のゲームパッドコンフィグだと一部の拡張機能が使えないので新しいInputConfigへの更新をお勧めします。
http://tm.lucky-duet.com/viewtopic.php?f=5&t=4814&p=17360


InputConfig導入しましたがキーボードコンフィグについてはYEPのほうを使いたいといった場合
こちらのキーボードコンフィグコマンドを消すことはできないでしょうか?
こちらのはフォントサイズ調整とかできないみたいでちょっと見にくいのでこちらのを無効に
したいのです。YEPのほうもフォントサイズ変えれないですがあちらの文字サイズが個人的に見やすかったので。


あとゲームパッドコンフィグのほうでウィンドウが横に広がりましたが
そうなると右に横幅小さくサブウィンドウが表示される為、サブウィンドウが
見にくくなっています。これをメインウィンドウの上に重ねるように表示することはできないでしょうか?
位置は画面中央が理想です。

あと、ツクール純正MADOアプリ付属のAltWindowFrameに対応することはできませんか?
Window,pngの枠だけ表示されてしまい背景が表示されないようです。(画像参照)
Window_Status.pngのウィンドウを表示するのが理想と考えます。

これらが気がかりでInputConfigの導入を見合わせていました。
修正できましたらよろしくお願いします。
添付ファイル
スクリーンショット 2017-10-18 13.45.08のコピー.jpg
アバター
しぐれん
記事: 972
登録日時: 2017年3月28日(火) 22:22
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by しぐれん » 2017年10月18日(水) 14:25

InputConfigですが、フォントサイズの調整は以下のように関数を書き換えることでできました。

コード: 全て選択

Window_KeyConfig_MA.prototype.drawItemText =function(keyName,symobolText,x,y,width){
   
    this.resetFontSettings();
    this.contents.fontSize -= 8;

    this.changeTextColor(this.normalColor());
    this.drawText(keyName,x ,y,width,'center',this.itemTextAlign());
    this.changeTextColor(this.textColor(4));
    if(symobolText){
        this.drawText(symobolText,x,y+this.lineHeight() ,width,'center');
    }
};



また、キーコンフィグ機能を使わない用にする場合、以下の関数の中身だけをコメントアウトしてください。
オプション画面から項目が消えるはずです。

コード: 全て選択

    Window_Options.prototype.addKeyboardConfig_MA=function(){
//        this._keyboardConfigIndex = this._list.length;
//       this.addCommand(setting.keyConfigCommandName,MA_KEYBOARD_CONFIG);
    };



サブウィンドウの位置ですが、手動設定パラメータを用意します。

AltWindowFrameですが、MADOは購入していないのでチェックできません。
プラグインを送ってもらえれば対応できるのですが、利用規約上問題があるかどうかわからないので判断できません。
現在、プラグイン依頼はお休み中です。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by にゃたま » 2017年10月18日(水) 15:51

しぐれん様

しぐれん さんが書きました:InputConfigですが、フォントサイズの調整は以下のように関数を書き換えることでできました。

コード: 全て選択

Window_KeyConfig_MA.prototype.drawItemText =function(keyName,symobolText,x,y,width){
   
    this.resetFontSettings();
    this.contents.fontSize -= 8;

    this.changeTextColor(this.normalColor());
    this.drawText(keyName,x ,y,width,'center',this.itemTextAlign());
    this.changeTextColor(this.textColor(4));
    if(symobolText){
        this.drawText(symobolText,x,y+this.lineHeight() ,width,'center');
    }
};





書き換えてみました。画像のエラーになってしまうようです。
スクリーンショット 2017-10-18 15.48.24.png


しぐれん さんが書きました:サブウィンドウの位置ですが、手動設定パラメータを用意します。

よろしくお願いします。

しぐれん さんが書きました:AltWindowFrameですが、MADOは購入していないのでチェックできません。
プラグインを送ってもらえれば対応できるのですが、利用規約上問題があるかどうかわからないので判断できません。

現在公式サイトにメール確認中です。もう暫くおまちください。

追記
フォントサイズ変える件ですが
もとのコードに
this.resetFontSettings();
this.contents.fontSize -= 8;
を足したらうまく動作しました。ありがとうございました。
アバター
にゃたま
記事: 837
登録日時: 2016年1月13日(水) 23:53
お住まい: 床下の猫王国-すみませんが体調悪いのでサポートはお休みさせていただきます
連絡を取る:

Re: YEP_ButtonCommonEventsでボタンの反応を抑制したい

投稿記事by にゃたま » 2017年10月18日(水) 16:19

しぐれん様

色々問題が多そうなのでぶっちゃけた話ですが初めの安定してるYEPのほうに戻して
(GamePadConfigのみしぐれん様のを使わせていただきます)
そもそもはコモンイベントが何度も動作してしまう話だったと思うのですが
根本的には先程の1秒間抑制コードを使用してなんとかしたいと思います。

すみません。スクリプトのことがまだあまり理解できておらず
どのように改造したらいいかもよくわからず色々試しましたが
やはりあまり込み入ったことをすべきではないなと思い反省しました。

もう少ししぐれん様のが安定して使いやすくなってきたらつかわせていただこうと思っております。
色々対応いただきありがとうございました。
また機会がありましたらよろしくお願いします。

“MV:質問” へ戻る