【解決済み】同じ座標で重なったイベントのID取得について

ぼた餅
記事: 187
登録日時: 2016年7月17日(日) 20:22

【解決済み】同じ座標で重なったイベントのID取得について

投稿記事by ぼた餅 » 2019年11月16日(土) 19:01

こんばんは。

二つのイベントが同じ座標で重なったとします。
このうちメモ欄に<AAA>と書かれたほうのイベントIDを取得したいのですが、どのようなスクリプトの記述をすればいいのでしょうか?
(前提として<AAA>同士が重なることはありません)


みなさんお力添えお願いいたします。
最後に編集したユーザー ぼた餅 on 2019年11月21日(木) 22:35 [ 編集 1 回目 ]

アバター
みなわ
記事: 14
登録日時: 2019年1月21日(月) 22:19
連絡を取る:

Re: 同じ座標で重なったイベントのID取得について

投稿記事by みなわ » 2019年11月20日(水) 22:54

ぼた餅さま、こんばんは。

たとえば以下のような状況設定だったとして。
---------------------------------------
イベント1:イベントキャラに踏まれるのを待っているスイッチ
イベント2:マップ上を移動しているイベントキャラ(メモ欄に<AAA>)
---------------------------------------

以下のような設定を施したイベント1をマップに配置すれば、
他の<AAA>イベントが重なった瞬間、<AAA>のイベントIDを取得できます。
キャプチャ.PNG


ただし、ウェイトを入れているとはいえ並列で延々処理を繰り返しているため、
条件を満たした(用が済んだ)時点で、別のページに切り替える処理を追加したほうがよいでしょう。
(自分で書いてて怪しい実装なので、他に上手いやり方を教えてくれる方がいたら、そちらをおススメします)
ぼた餅
記事: 187
登録日時: 2016年7月17日(日) 20:22

Re: 同じ座標で重なったイベントのID取得について

投稿記事by ぼた餅 » 2019年11月21日(木) 18:08

みなわさん

返信ありがとうございます。
ご提示いただいた方法を試したところ、以下のエラー画面が発生してしまいます。
無題2.png


タイミングとしては
1 別イベントに話しかけ、<AAA>イベントを移動させる
2 <AAA>イベントがスイッチに接触
3 エラー画面
というものです。


スクリプトはいじらずに、そっくりそのまま写しております。
無題.png



どこを改善すればよいのでしょうか?
アバター
みなわ
記事: 14
登録日時: 2019年1月21日(月) 22:19
連絡を取る:

Re: 同じ座標で重なったイベントのID取得について

投稿記事by みなわ » 2019年11月21日(木) 19:56

ぼた餅さま。

スクリプト if文内の
「 //$gameVariables.setValue(任意の変数ID, evtObj[i]._eventId); 」
を、
「 $gameVariables.setValue(1, evtObj[i]._eventId); 」に置き換え、
スクリプト末尾に付け足した
「 $gameVariables.setValue(1, evtObj[i]._eventId); 」を削除。

これで動くかと思います。
(ただし、2つ以上の<AAA>イベントが同時にスイッチに接触した場合、おそらく後のほうのイベントIDが変数1にセットされます)
(前提条件で<AAA>同士が重なることはないとのことなので特に問題はないと思いますが、一応ご承知おきください)
ぼた餅
記事: 187
登録日時: 2016年7月17日(日) 20:22

Re: 同じ座標で重なったイベントのID取得について

投稿記事by ぼた餅 » 2019年11月21日(木) 22:35

無事希望通りの挙動を確認しました。
私の初歩的ミスだったのですね、お恥ずかしい限りです。

このたびはご丁寧に教えてくださりありがとうございます。
かなり悩まされていた問題でしたので、解決できてとても嬉しいです。

“MV:質問” へ戻る