じ☆ve冰风 发表于 2024-4-19 23:32:46

【原创】事件寻路脚本(基于广度优先搜索和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]
查看完整版本: 【原创】事件寻路脚本(基于广度优先搜索和RGSS1)