アクションRPGを製作中なのですが一番近い敵イベントに対して魔法を撃つ動作をしたく方法を考えているのですがいい案が思いつきません
指定範囲内(表示されている画面内くらい)で実機に一番近いイベントIDを変数に格納するいい方法ありませんか?
よろしくおねがいします
【解決済み】実機から一番近いイベントIDを取得する方法ありませんか?
【解決済み】実機から一番近いイベントIDを取得する方法ありませんか?
最後に編集したユーザー ねこちゃ [ 2018年10月06日(土) 22:06 ], 累計 1 回
Re: 実機から一番近いイベントIDを取得する方法ありませんか?
コード: 全て選択
let vid = 22; // 取得する変数番号
let min = 20; // 最大距離
let get = null;
$gameMap.events().forEach(function(event){
let distance = $gameMap.distance($gamePlayer.x,$gamePlayer.y,event.x,event.y);
if (min >= distance) { min = distance; get = event; }
});
$gameVariables.setValue(vid, get ? get.eventId() : 0);
方向等は考慮されません
Re: 実機から一番近いイベントIDを取得する方法ありませんか?
返信ありがとうございます!
Javascriptほとんどわかっていないので動作の原理を読み解くのに時間がかかりましたがなんとなくですが把握することができました
この様な方法があったのですね自分が考えていた方法と全く違いスマートなやり方に目からウロコです
自分のゲーム用に少し改造し導入してみたところ完全にうまく動作をしているのを確認しました
(敵イベントとそれ以外のイベントを区別するように改造)
おかげさまでこれでアクション動作の幅が広がること間違いありません
この度はありがとうございました!また何かありましたらよろしくおねがいします
Javascriptほとんどわかっていないので動作の原理を読み解くのに時間がかかりましたがなんとなくですが把握することができました
この様な方法があったのですね自分が考えていた方法と全く違いスマートなやり方に目からウロコです
自分のゲーム用に少し改造し導入してみたところ完全にうまく動作をしているのを確認しました
(敵イベントとそれ以外のイベントを区別するように改造)
おかげさまでこれでアクション動作の幅が広がること間違いありません
この度はありがとうございました!また何かありましたらよろしくおねがいします
