【原创】事件寻路脚本(基于广度优先搜索和RGSS1)
旧版本以下为最新版本
用法:在事件页中使用脚本,输入以下内容。
RUBY 代码
BFS.find_path(character, target_x, target_y)
说明:
如果想要移动主角,character为$game_player;若想移动事件,character为$game_map.events (注:n为相应事件的ID)
注意:该脚本适用于较小的地图(推荐不超过100*100)且工程的系统应基于默认的RGSS。
RUBY 代码下载
module BFS
defself.find_path(character, tx, ty)
ox, oy = character.x, character.y
returnif(tx > $game_map.width - 1) || (ty > $game_map.height - 1)
returnif !($game_map.passable?(tx, ty, 0, character))
returnif(tx == ox) && (ty == oy)
checked = []
father = []
for i in0...$game_map.width
checked
页:
[1]