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

【プラグイン】イベントの中断と再開

ツミオ2017-10-16に開始した「ツクールMV」の中の討論

  1. ツミオ

    ツミオ ユーザー

    繰り返される会話を実装するためだけに、変数や条件分岐を駆使する必要はもうありません。


    プラグイン名:
    YieldReturnConversation.js
    概要:イベントの中断と再開をサポートします。

    【ダウンロード】
    https://raw.githubusercontent.com/Tsumio/rmmv-plugins/master/plugins/YieldReturnConversation.js


    【特徴】
    ・イベントを中断し、中断した箇所から再開できます。
    ・繰り返される会話を実装するためだけに、変数や条件分岐を使う必要はもうありません。
    ・話しかけられた回数を管理する煩わしさから解き放たれます。

    【使用方法】
    プラグイン導入後、すぐに使えます。

    プラグインコマンド「yield return」を用いることにより、イベントはその場で中断されます。
    中断したイベントをもう一度実行すると、中断された箇所から再開されます。
    最後まで実行されたイベントは、通常のイベントと同じく次回イベント実行時には頭から実行されます。
    なお「yield return」はコモンイベントには使えません。

    【プラグインコマンド】
    全てのプラグインコマンドは大文字と小文字を区別します。
    各単語の間は半角スペースで区切ります(全角では認識しません)。
    間違わないように気をつけてください。

    「yield return」 : イベントを中断します。

    【実例1:単純な会話のループ】
    Y1.jpg
    同じ会話を繰り返すためだけに変数や条件分岐、そしてスイッチを駆使する必要はありません。
    イベントの途中にyield returnを挟むことにより、同等のイベントを実装することができます。
    例えば上記の例の場合、一度目の会話は
    「おらこんな村」
    「だいすき☆」
    と表示され、二度目の会話は
    「というわけで
    私が
    この村の
    フェアリー様よ
    崇め奉りなさい!」
    と表示され、三度目の会話は一度目に戻り、以下ループします。

    【実例2:しつこい会話】
    Y3.jpg
    主人公が何度も話しかけると、そのたびに反応が変わり、最終的にはアイテムを入手できる会話を実装したいと思います。
    そのとき、従来の方法では例えば上記のように変数で会話の回数を記録し、条件分岐で会話内容を変化させる必要があります。
    この方法は「途中で別の会話を挟み込みたい」といった変更に弱く、条件分岐を少し間違えるだけで機能しなくなります。
    そこでyield returnを使ってみます。
    Y2.jpg
    非常にすっきりしました。
    また、「途中で別の会話を挟み込みたい」と思ったときも、ただ任意の場所に会話を追加し、yield returnするだけで済みます。

    【更新履歴】

    0.8.0 2017/10/16 公開。

    【ライセンス(MITライセンス)】
    • 製作者: ツミオ
    • 非商用利用: 自由
    • 商用利用: 自由
    • 再配布: OK
    • 加工: OK
    • 加工後の再配布: OK
    • シリーズ: ツクールMV(他の用途で使用しても問題ありません)

    【備考】
    当プラグインを利用したことによるいかなる損害に対しても、制作者は一切の責任を負わないこととします。

    【更新履歴】
    0.8.0 2017/10/16 公開。

    【あんまり関係ない話】
    すでに誰かが似たような機能を作っていたはずなのですが(どこかで見かけました)、ググっても見つからなかったので自分用に作ってみました。
    あと宣伝風の紹介にも挑戦してみました。
    不具合があるかもしれませんので、ご報告をお待ちしています:beard:
     
    最後に編集: 2017-10-16
    #1
    kuro, RDN, ganges他4人がいいね!しています

このページを共有