# id°¡ ¼ýÀÚÀÏ °æ¿ì Ç÷¹À̾î¿Í À̺¥Æ®¿ÍÀÇ °Å¸® # id°¡ ¹è¿­ÀÏ°æ¿ì # - size°¡ 2ÀÏ°æ¿ì - À̺¥Æ®¿Í À̺¥Æ®¿ÍÀÇ °Å¸® : [id1, id2] _ id°¡ 0ÀÏ°æ¿ì Ç÷¹À̾î·Î °£ÁÖ. # - size°¡ 3ÀÏ°æ¿ì - À̺¥Æ®¿Í ÁÂÇ¥¿ÍÀÇ °Å¸® : [x, y, id] _ id°¡ 0ÀÏ°æ¿ì Ç÷¹À̾î·Î °£ÁÖ. # - size°¡ 4ÀÏ°æ¿ì - ÁÂÇ¥¿Í ÁÂÇ¥¿ÍÀÇ °Å¸® : [x1, y1, x2, y2] # range°ªÀ» ¾ÈÁÙ°æ¿ì °Å¸®¸¦ µ¹·ÁÁÝ´Ï´Ù. # [À̺¥Æ®->½ºÅ©¸³Æ®] ȤÀº [À̺¥Æ®->Á¶°ÇºÐ±â->½ºÅ©¸³Æ®] ¿¡ ½áÁÝ´Ï´Ù. # ¿¹> °Å¸®(3,10) - 3¹ø À̺¥Æ®¿Í Ç÷¹À̾ 10ÀÌ»ó ¶³¾îÁ®ÀÖ³Ä ¾Æ´Ï³Ä¸¦ µ¹·ÁÁÝ´Ï´Ù. # ¿¹> °Å¸®([1,2]) - 1¹ø À̺¥Æ®¿Í 2¹ø À̺¥Æ®ÀÇ °Å¸®¸¦ °è»êÇؼ­ µ¹·ÁÁÝ´Ï´Ù. def °Å¸®(id,range = nil) id = id[0] if id.is_a?(Array) and id.size == 1 if id.is_a?(Array) if id.size == 2 id1 = id[0] id2 = id[1] return false if (id1 != 0 and $game_map.events[id1].nil?) or (id2 != 0 and $game_map.events[id2].nil?) x1 = (id1 != 0 ? $game_map.events[id1].x : $game_player.x) y1 = (id1 != 0 ? $game_map.events[id1].y : $game_player.y) x2 = (id2 != 0 ? $game_map.events[id2].x : $game_player.x) y2 = (id2 != 0 ? $game_map.events[id2].y : $game_player.y) elsif id.size == 3 return false if (id[2] != 0 and $game_map.events[id[2]].nil?) x1 = id[0] y1 = id[1] x2 = (id[2] != 0 ? $game_map.events[id[2]].x : $game_player.x) y2 = (id[2] != 0 ? $game_map.events[id[2]].y : $game_player.y) elsif id.size == 4 x1 = id[0] y1 = id[1] x2 = id[2] y2 = id[3] end else return false if $game_map.events[id].nil? x1 = $game_player.x y1 = $game_player.y x2 = $game_map.events[id].x y2 = $game_map.events[id].y end result = ((x1 - x2)**2 + (y1 - y2)**2)**0.5 if range.nil? return result else return (result <= range) end end