기본 이벤트 커맨드(이동경로설정)으로 액터를 향해 이동하게 하는 건 가능한데, 특정이벤트를 향해 가도록 하는 건 어떡해야 가능할 지... 스크립트의 조작이 필요할까요.
ex) 마을사람1이 있다고 합니다. 평소에는 랜덤하게 돌아다닙니다.
그런데 특정시간대가 되면(시간대는 변수/스위치이용) 이 마을사람1이 알아서 건물의 문을 향해 이동하고,
문과 닿으면 그래픽을 없애도록...... 이게 가능할 지 궁금합니다.
필요한 기능을 떠올리다보니 궁금한 게 막 쌓이네요...
작은 조언이라도 부탁드립니다.
문이벤트의 좌표과 마을사람 이벤트 좌표의 차이를 구하신 후 조건분기를 이용하여 마을사람이 그곳으로 이동하게 하면 됩니다...만,
장애물이 막고있는 경우 진행이 막힐 수 있으니 개인적으로 스크립트를 사용하시는 것을 추천합니다.
class Game_Character
#--------------------------------------------------------------------------
# ● 이벤트가 이벤트에게 다가간다
#--------------------------------------------------------------------------
def move_toward_event(id)
ex = @x - $game_map.events[id].x
ey = @y - $game_map.events[id].y
if ex == 0 and ey == 0
return
end
abs_ex = ex.abs
abs_ey = ey.abs
if abs_ex == abs_ey
rand(2) == 0 ? abs_ex += 1 : abs_ey += 1
end
if abs_ex > abs_ey
ex > 0 ? move_left : move_right
if not moving? and ey != 0
ey > 0 ? move_up : move_down
end
else
ey > 0 ? move_up : move_down
if not moving? and ex != 0
ex > 0 ? move_left : move_right
end
end
end
#--------------------------------------------------------------------------
# ● 이벤트가 이벤트를 향한다
#--------------------------------------------------------------------------
def turn_toward_event(id)
ex = @x - $game_map.events[id].x
ey = @y - $game_map.events[id].y
if ex == 0 and ey == 0
return
end
if ex.abs > ey.abs
ex > 0 ? turn_left : turn_right
else
ey > 0 ? turn_up : turn_down
end
end
end