特定範囲の座標を候補から排除する計算【解決】

返信する
kix
記事: 19
登録日時: 2017年7月02日(日) 18:45

特定範囲の座標を候補から排除する計算【解決】

投稿記事 by kix »

ひきも記(http://hikimoki.sakura.ne.jp/)で公開されている「リージョンワープ」(http://hikimoki.sakura.ne.jp/rgss3/script_map/tmrwarp.rb)についてです。
特定リージョンの座標へランダムにイベントを送れるスクリプトなのですが、移動先から除外される座標に「画面内、見える範囲」を追加してもらいたいです。
除外する座標を指定するらしい場所は解ったのですが、具体的な記述が解りません。お助け下さい。
除外する範囲はタイトに画面範囲に合わなくても、円形や四角でもかまいません。
添付ファイル
クリップボード.png
クリップボード.png (6.87 KiB) 閲覧された回数 3979 回
最後に編集したユーザー kix [ 2017年11月07日(火) 16:06 ], 累計 1 回
TOMO
記事: 348
登録日時: 2015年11月16日(月) 20:12
連絡する:

Re: 特定範囲の座標を候補から排除する計算

投稿記事 by TOMO »

コード: 全て選択

next if $game_player.pos?(pos[0], pos[1]) # プレイヤーのいる座標は除外
の下に

コード: 全て選択

pos[0].between?(display_x, display_x + screen_tile_x) &&
pos[1].between?(display_y, display_y + screen_tile_y)
と入れれば出来ると思います

ちなみに、
「display_x」と「display_y」が画面左上のX・Y座標で、
「screen_tile_x」と「screen_tile_y」が画面内のタイル数です
現在サポート終了中
kix
記事: 19
登録日時: 2017年7月02日(日) 18:45

Re: 特定範囲の座標を候補から排除する計算

投稿記事 by kix »

TOMO さんが書きました:

コード: 全て選択

next if $game_player.pos?(pos[0], pos[1]) # プレイヤーのいる座標は除外
の下に

コード: 全て選択

pos[0].between?(display_x, display_x + screen_tile_x) &&
pos[1].between?(display_y, display_y + screen_tile_y)
と入れれば出来ると思います
ありがとうございます。それっぽい数字を入れたり式を入れる行を変えたりして試しましたが、残念ながら何の変化もありませんでした。エラーもありません。
添付ファイル
クリップボード.png
TOMO
記事: 348
登録日時: 2015年11月16日(月) 20:12
連絡する:

Re: 特定範囲の座標を候補から排除する計算

投稿記事 by TOMO »

ごめん…

コード: 全て選択

next if pos[0].between?(display_x, display_x + screen_tile_x) &&
pos[1].between?(display_y, display_y + screen_tile_y)
です
現在サポート終了中
kix
記事: 19
登録日時: 2017年7月02日(日) 18:45

Re: 特定範囲の座標を候補から排除する計算

投稿記事 by kix »

TOMO さんが書きました:ごめん…

コード: 全て選択

next if pos[0].between?(display_x, display_x + screen_tile_x) &&
pos[1].between?(display_y, display_y + screen_tile_y)
です
ありがとうございます。動きました。助けていただいてばかりで、こちらこそごめんなさい。
返信する

“VX / Ace:質問”に戻る