1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

【解決】メニューにワープコマンドを追加(トリアコンタン様作「メニュー画面のサブコマンドプラグイン」)

munokura2019-02-08に開始した「プラグイン制作・技術」の中の討論

  1. munokura

    munokura ユーザー

    「メニュー画面のサブコマンドプラグイン」を使用しています。
    サブコマンドのScriptに下記のように記述したところ、コマンドを選択してからウィンドウを閉じると動作しました。
    $gamePlayer.reserveTransfer(2, 3, 9, 2, 0);

    そこで、コマンドを選択したら、自動的にウィンドウを閉じてワープするようにしたいと考え、記述したところ少々不思議なことが起こります。
    その1
    コード:
    Input._currentState['escape'] = true; Input._currentState['escape'] = false; $gamePlayer.reserveTransfer(2, 3, 9, 2, 0);
    
    その2
    コード:
    Input._currentState['escape'] = true; this.wait(1); Input._currentState['escape'] = false; $gamePlayer.reserveTransfer(2, 3, 9, 2, 0);
    
    プレイ再開後の最初の1回だけはウィンドウが閉じて、希望通りの動作になります。
    しかし、2回目になるとウィンドウが閉じなくなり、閉じるとワープするという動作になってしまいます。

    なにか対応策はあるでしょうか?
     
    最後に編集: 2019-02-09
    #1
  2. ガバチョ

    ガバチョ ユーザー

    こんばんは。
    こういう時のスクリプトって何個もいけるんですね。初めて知りました。

    まず「その2」についてですが、
    wait()という関数が私の環境だとエラーになりました。
    別のプラグインで追加された関数なのかもしれません。
    とりあえず忘れてください。


    ■対応方法
    スクリプトを次のようにしてください。
    コード:
    $gamePlayer.reserveTransfer(2, 3, 9, 2, 0);SceneManager.pop();$gameTemp.resetLastSubCommand();

    ■説明
    SceneManager.pop()で今のシーン(今回の場合はメニュー)が消えます。
    メニューが消えたので移動できるようになります。

    resetLastSubCommand()はこのプラグインで追加された関数です。
    このプラグインでは、サブコマンドを選ぶとそのコマンドを記憶する流れになっているのですが、
    記憶されたものを強制的に消すイメージです。


    ■場所移動について
    場所移動をコモンイベントにすると座標を手打ちしなくて良くなります。

    ・コモンイベントID7を実行する例)
    コード:
    $gameTemp.reserveCommonEvent(7);SceneManager.pop();$gameTemp.resetLastSubCommand();

    ■留意事項
    このプラグインのスクリプト実行は、
    ヘルプを読むかぎり「別のメニュー画面」を呼び出す想定っぽいです。
    つまりはまたサブコマンドに戻ってくる想定です。
    だからこそ選んだサブコマンドを記憶するようになっています。

    ふつうのマップに移動して終わり!
    という使い方は、何かしらの問題を引き起こすかもしれません。
    ざっと見た感じ大丈夫そうでしたが。

    作者さんに聞くのが一番確実ですね。


    ■小耳情報
    入力キーを表す文字列は'escape'より'cancel'の方がいいらしいです。
    http://rpgmaker-script-wiki.xyz/mousekeyevent_kowazamv.php


    ■その他
    ルーラを作る公式講座を発見しました。

    https://tkool.jp/mv/course/03.html

    ご参考までに。
     
    #2
    神無月サスケmunokura がいいね!しています
  3. munokura

    munokura ユーザー

    ありがとうございます!
    ご指摘どおりに設定したら、動作いたしました。

    とても参考になりました!!
    また、本来のプラグインの使い方ではないかも知れないことをお知らせいただき、ありがとうございます。

    あとは、プラグインの趣旨に反しますが、サブメニューを出さないで、メニューから直接コモンイベントを実行できるようにできれば理想的です。
    本来の設計と異なる想定かもしれないので、別プラグインとして作るべきなのかも知れませんが…。
    これはプラグイン自体を変更する必要があるので、トリアコンタン様が拾ってくださるかどうかにかかっていますが(他力本願で申し訳ありません…)
     
    #3
  4. munokura

    munokura ユーザー

    思いついて、サブメニューの選択肢を2つにしていたのを1つにしました。
    すると、メニューを選択した時点で1つ目の選択肢が実行され、希望通りの動作となりました。
    流石、トリアコンタン様ですね、想定済みの設計ということでしょうか。
    ありがたいことです。
     
    #4

このページを共有