いつもお世話になってます。
【解決済み】座標取得スクリプトについて
http://tm.yumineko.com/viewtopic.php?f= ... 7%E6%A8%99
上記のトピックを参考に現在のマップと座標を取得するプラグインを作ろうとしています。
ただ、イベントエディターから新規にスクリプトを作るとうまく情報が取得できそうなのですが、
これをプラグインで作成して実行しようとすると、
「TypeError undefined is not a function」
って出て止まってしまいます。
イベントエディターとプラグインで実装するときは書き方がちがうのでしょうか?
プラグインで実装するときのコードを教えてほしいです。
よろしくお願いします。
【解決済み】現在のマップのマップIDと座標を取得するスクリプトについて
【解決済み】現在のマップのマップIDと座標を取得するスクリプトについて
最後に編集したユーザー ま~くん [ 2017年8月24日(木) 19:26 ], 累計 3 回
Re: 現在のマップと座標を取得するスクリプトを教えて欲しいにゃ~
イベントコマンドのスクリプトとプラグインだと書き方が異なるニャ。
イベントコマンド「スクリプト」で実行したときのthisはGame_Interpreterクラスなのニャ。
まず、以下の処理を見るのニャ。
(rpg_objects.js)
this.character(-1)とやると、この関数が呼び出されてGame_Characterの派生クラスを取得するようになっているのニャ。
ニャので、プレイヤーのオブジェクトを手動で捕まえるのニャ。
プレイヤーの座標をとりたければ、$gamePlayer.xでx座標が取れるニャ。
イベントコマンド「スクリプト」で実行したときのthisはGame_Interpreterクラスなのニャ。
まず、以下の処理を見るのニャ。
(rpg_objects.js)
コード: 全て選択
Game_Interpreter.prototype.character = function(param) {
if ($gameParty.inBattle()) {
return null;
} else if (param < 0) {
return $gamePlayer;
} else if (this.isOnCurrentMap()) {
return $gameMap.event(param > 0 ? param : this._eventId);
} else {
return null;
}
};
ニャので、プレイヤーのオブジェクトを手動で捕まえるのニャ。
プレイヤーの座標をとりたければ、$gamePlayer.xでx座標が取れるニャ。
現在、プラグイン依頼はお休み中です。
Re: 現在のマップと座標を取得するスクリプトについて
しぐれんさん、丁寧な解説ありがとうございます。
$gamePlayer.xでx座標、$gamePlayer.yでy座標を取得することができました。
あと、$gameMap.mapId()でいいのでしょうか?
現在のマップのマップIDも取得できそうです。
まだまだjsフォルダのコードを理解できていませんが、少しずつ覚えていこうと思います。
丁寧に教えてくれてありがとございました。
また機会がありましたらよろしくお願いします。
$gamePlayer.xでx座標、$gamePlayer.yでy座標を取得することができました。
あと、$gameMap.mapId()でいいのでしょうか?
現在のマップのマップIDも取得できそうです。
まだまだjsフォルダのコードを理解できていませんが、少しずつ覚えていこうと思います。
丁寧に教えてくれてありがとございました。
また機会がありましたらよろしくお願いします。