ページ 1 / 1
【解決済み】イベントが特定の位置にいるか判定し条件分岐するスクリプトの書き方
Posted: 2023年8月12日(土) 01:05
by ちきぼん
イベント162が座標(17,22)にいるか判定し、いたら条件分岐するスクリプトを書きたいのですが上手く行きません。
結構調べてこのページ(
http://rpgmaker-script-wiki.xyz/getposiinfo_mv.php)に書いてある通り
$gameMap.event(162)Xy(17,22)
と書いてもエラーが出てしまいます。
$gameMap.event(162).Xy(17,22) と「.」を付け足してみてもダメでした。
分かる方居ましたら教えてほしいです。
Re: イベントが特定の位置にいるか判定し条件分岐するスクリプトの書き方
Posted: 2023年8月12日(土) 04:03
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にいれば真、いなければ偽が得られます。
Re: イベントが特定の位置にいるか判定し条件分岐するスクリプトの書き方
Posted: 2023年8月12日(土) 13:33
by ちきぼん
ありがとうございます!!
無事想定通りの動きを作ることが出来ました!!