ページ 11

違うマップの同じ位置に移動させる方法

Posted: 2021年3月20日(土) 11:35
by 初心者&質問者
違うマップ場所移動させた際
現在立っている位置のリージョンIDを
同じIDを場所に移動させるには、どうすればいいでしょうか。

例えばホラーなどで
「キレイな部屋」にいたはずが、タイマー切れになると
部屋の広さは全く同じでも
「薄暗いボロボロの部屋」に変わってしまう演出です。

実際にはマップで「キレイな部屋」「薄暗いボロボロの部屋」を
それぞれ作っておき、タイマーが切れると
「薄暗いボロボロの部屋」に移動させているのですが

「キレイな部屋」の中で、プレイヤーが立っていた位置と
同じリージョンIDの「薄暗いボロボロの部屋」場所へ
移動させたく思っています。



「場所移動」や「指定位置の情報取得」や
岩の動かし方など参考に、調べ

・「指定位置の情報取得」は、リージョンIDを変数に格納できる
・上記変数を「条件分岐」させる

などは理解できたのですが
いまいち、うまくつくれません。

ご助言いただける方、どうぞよろしくお願いいたします。

Re: 違うマップの同じ位置に移動させる方法

Posted: 2021年3月20日(土) 12:13
by ゆわか
任意のリージョンのタイルに移動する方法はちょっとわからないので
別の「違うマップの同じ位置に移動させる方法」をご提案したいと思います。

プレイヤーの座標を変数に代入して、場所移動に変数を指定して移動する方法です。
マップIDは変数の操作で代入します。

移動先のマップの通行指定が大きく違うと上手くいかないかもしれません。
例えば、移動後の廊下には穴がいくつか開いているという場合
穴の座標と同じ位置から移動してくると、ハマって出られなくなったりとか。
移動先が穴になっていないか、穴の座標と同じだったら移動位置をちょとずらす必要が出てきます。

その場合、移動後に穴がある場所の移動前のマップの同じ位置のリージョンを1にしておいて
移動前に取得した足元のリージョンが1の時は
プレイヤーの座標に変更を加えるという操作が必要になります。

落とし穴や障害物が増えない場合のイベント入力例
◆変数の操作:#0002 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0003 プレイヤーY = プレイヤーのマップY
◆変数の操作:#0001 マップID = 3
◆場所移動:{マップID} ({プレイヤーX},{プレイヤーY})

落とし穴や障害物が増える場合のイベント入力例
◆変数の操作:#0002 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0003 プレイヤーY = プレイヤーのマップY
◆変数の操作:#0001 マップID = 3
◆指定位置の情報取得:リージョン, リージョンID, ({プレイヤーX},{プレイヤーY})
◆条件分岐:リージョン = 1
◆変数の操作:#0002 プレイヤーX = 24
◆変数の操作:#0003 プレイヤーY = 20

:分岐終了
◆場所移動:{マップID} ({プレイヤーX},{プレイヤーY})

Re: 違うマップの同じ位置に移動させる方法

Posted: 2021年3月20日(土) 12:46
by ムノクラ
構造次第ですがイベントコマンド
◆タイルセットの変更:~
で、表示を変更するという手段もあります。
(イベントコマンドP3の右上あたり)

タイルセットの配置を揃えておく必要がありますが。

Re: 違うマップの同じ位置に移動させる方法

Posted: 2021年3月27日(土) 12:00
by 初心者&質問者
ゆわか様

詳しく、どうもありがとうございます。
場所移動にどう変数を使うのか、今まで分からなかったのですが
よく分かりました。

助かりました。

Re: 違うマップの同じ位置に移動させる方法

Posted: 2021年3月27日(土) 12:02
by 初心者&質問者
[quote="ムノクラ"]

ムノクラ様
どうも、ありがとうございます。
その方法も、参考にさせていただきます。