こんばんは。お世話になってます。
マップを作成する時 16x16 でチップにして壁や道を組み合わせて作りました。
しかし、この方法だと int map[480]; と膨大な量になってしまいます。
しかも、どこが壁でどこが→を曲がる道か複雑になってしまいます。
マップの素材は First Seed Material というサイトのものを使っています。
マップチップ
Re:マップチップ
ん~と、とりあえず640x480の画像を16x30サイズで「横30x縦16」の480個取得している状態ですよね?
恐らく「LoadDivGraph」関数で。
そして、それに対応したマップの画像も二次元配列でなく、一次元配列の「int map[480];」で管理していると予測します。
その場合横30、縦16の分割なので以下のような方法でx,y座標が求められます。
int idx = 180
int x = (int)(idx % 30) * 32;
int y = (int)(idx / 30) * 16;
こういうのが知りたかったんじゃないでしょうか?違ってたらすいません。
恐らく「LoadDivGraph」関数で。
そして、それに対応したマップの画像も二次元配列でなく、一次元配列の「int map[480];」で管理していると予測します。
その場合横30、縦16の分割なので以下のような方法でx,y座標が求められます。
int idx = 180
int x = (int)(idx % 30) * 32;
int y = (int)(idx / 30) * 16;
こういうのが知りたかったんじゃないでしょうか?違ってたらすいません。