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

【解決済】移動時の処理について

もょもと2020-02-15に開始した「ツクールMV」の中の討論

  1. もょもと

    もょもと ユーザー

    題名についてお聞きしたいことがあります。
    まず、どういう事かというと

    Aマップから同じAマップの別の場所への移動処理を行った際は、イベントの位置などのリセット処理が行われず、A→B→Aのように別マップを移動するとイベント位置がリセットされます。
    これを別マップ移動時の処理を同マップ移動のようにリセット処理を行わないようにってできますか?

    イベント位置のリセットについては、説明するための一例なのでイベント位置保持プラグイン以外で可能かどうかご教授願います。
    難しいようでしたら、処理が重くなりますがマップをすべて一つにするやり方にしようと思います。
     
    #1
    ワタベ がいいね!しました
  2. トリアコンタン

    トリアコンタン モデレーター スタッフ モデレーター

    こんにちは!

    コアスクリプトの仕様に話になってしまいますが、ツクールMVでは(イベントの位置情報を含めた)マップ状態を場所移動時にリセットしているのではなく、最初から『現在プレイヤーが存在するマップ』のぶんしか保持しない設計になっています。
    同じマップへの場所移動だと位置が保持されるのもそれが理由です。

    そうしないと場所移動するたびにメモリ使用量やセーブファイル容量が増えてしまいます。

    一般的なイベント位置保持プラグインでは、イベント座標を一旦別の場所に待避し、マップに戻ってきたときに復元……というやり方を採っていると思います。

    イベント位置を含めたマップ情報($gameMapという変数に入っています)を保持するためには、別マップに移動した後も『マップ情報全体』を待避しておく必要があると思います。
    マップ情報全体を保持するので動的イベントの生成状況も復元できます。

    ただし、上記の通りメモリやセーブファイル容量の問題があります。
    待避するマップを特定のマップのみに限定する……等の対策が必要です。

    それでもよろしければプラグインとして作成することは可能です。
     
    最後に編集: 2020-02-15
    #2
    ワタベもょもと がいいね!しています
  3. もょもと

    もょもと ユーザー

    こんばんわ!

    Twitterでもお世話になっておりますm(__)m

    なるほど、リセットじゃなくてそもそも保持をしていなかったんですね……。
    プラグインというかプログラムはさっぱりだったので勘違いしていました。
    現在制作中のゲームでは多くてもマップ数は5,6個くらいの予定ですが、そうなると最初から一つのマップにしてしまった方がよさげでしょうか?
     
    #3
    ワタベトリアコンタン がいいね!しています
  4. トリアコンタン

    トリアコンタン モデレーター スタッフ モデレーター

    可能であれば、まとめた方がいいと思います。
    ただ、まとめた後のマップのイベント数や内容によっては、パフォーマンスに影響がでる怖れがあります。
    こればっかりは実際に試してみないとなんとも言えないですね。。
     
    #4
    もょもとワタベ がいいね!しています
  5. もょもと

    もょもと ユーザー

    了解です。

    短編探索ゲーを制作予定なので、マップを1つにまとめる方向で製作しようと思います。
    一応、複製したイベントについてはプレイヤー側で手動で消せる処理も実装するつもりなので、パフォーマンスについては大丈夫だと思います。
    教えていただきありがとうございました!

    トリアコンタン様のプラグインにはいつもお世話になっているので、今回も助かりました。
     
    #5
    トリアコンタンワタベ がいいね!しています

このページを共有