【解決済み】イベントが特定の位置にいるか判定し条件分岐するスクリプトの書き方

返信する
アバター
ちきぼん
記事: 25
登録日時: 2022年3月29日(火) 12:38

【解決済み】イベントが特定の位置にいるか判定し条件分岐するスクリプトの書き方

投稿記事 by ちきぼん »

イベント162が座標(17,22)にいるか判定し、いたら条件分岐するスクリプトを書きたいのですが上手く行きません。

結構調べてこのページ(http://rpgmaker-script-wiki.xyz/getposiinfo_mv.php)に書いてある通り

$gameMap.event(162)Xy(17,22)
と書いてもエラーが出てしまいます。

$gameMap.event(162).Xy(17,22) と「.」を付け足してみてもダメでした。
分かる方居ましたら教えてほしいです。
最後に編集したユーザー ちきぼん [ 2023年8月12日(土) 13:33 ], 累計 1 回
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: イベントが特定の位置にいるか判定し条件分岐するスクリプトの書き方

投稿記事 by Plasma Dark »

ご提示のサイトはMV向けであったり、網羅性に欠けるので参考程度にしたほうが良いですね。

JavaScriptにおいて、 A.B は、AというオブジェクトのプロパティBにアクセスする、という意味です。

参考: プロパティアクセサー

$gameMapはGame_Mapクラスのインスタンス(今いるマップの状態を表すオブジェクト)であり、そのプロパティeventは引数にイベントIDを受け取り、Game_Eventクラスのインスタンス(そのイベントの状態を表すオブジェクト)を返す関数です。
rmmz_objects.jsのGame_Map.prototype.eventにその関数の具体的な定義が書かれています。

つまり、

コード: 全て選択

$gameMap.event(162)
と書いたとき、そのマップにあるイベントID162のイベントの状態を表すオブジェクトが得られます。
イベントの状態を表すオブジェクトには、posというプロパティがあります。
そのposは座標を渡すとその座標にイベントがいるかどうかを真偽値で返す関数です。

関数の定義はGame_CharacterBase.prototype.posに書かれています。

コード: 全て選択

$gameMap.event(162).pos(17,22)
と書くと、そのマップのイベントID162が座標17,22にいれば真、いなければ偽が得られます。
アバター
ちきぼん
記事: 25
登録日時: 2022年3月29日(火) 12:38

Re: イベントが特定の位置にいるか判定し条件分岐するスクリプトの書き方

投稿記事 by ちきぼん »

ありがとうございます!!
無事想定通りの動きを作ることが出来ました!!
返信する

“MZ:質問”に戻る