Project1
标题:
一个角色跟随另一个事件
[打印本页]
作者:
876加几
时间:
2013-10-3 23:00
标题:
一个角色跟随另一个事件
本帖最后由 876加几 于 2013-10-3 23:03 编辑
脚本:
class Game_Character
#--------------------------------------------------------------------------
# ● 接近事件
# aaa : 事件ID
#--------------------------------------------------------------------------
def move_toward_event(aaa)
# 求得与主角的坐标差
sx = @x - $game_map.events[aaa].x
sy = @y - $game_map.events[aaa].y
# 坐标相等情况下
if sx == 0 and sy == 0
return
end
# 求得差的绝对值
abs_sx = sx.abs
abs_sy = sy.abs
# 横距离与纵距离相等的情况下
if abs_sx == abs_sy
# 随机将边数增加 1
rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
end
# 横侧距离长的情况下
if abs_sx > abs_sy
# 左右方向优先。向主角移动
sx > 0 ? move_left : move_right
if not moving? and sy != 0
sy > 0 ? move_up : move_down
end
# 竖侧距离长的情况下
else
# 上下方向优先。向主角移动
sy > 0 ? move_up : move_down
if not moving? and sx != 0
sx > 0 ? move_left : move_right
end
end
end
end
复制代码
方法:插入到Main前或去掉最后一行和第一行,置入Game_Character3最后一行前面。
调用方法:设置移动路线:脚本:move_toward_event(事件ID)
我测试了一下,在地图上弄一匹马,然后一个人来追马,用这个脚本就完成了效果。
范例:
Project23.zip
(201.11 KB, 下载次数: 100)
2013-10-3 23:00 上传
点击文件名下载附件
作者:
恐惧剑刃
时间:
2013-10-3 23:21
本帖最后由 恋′挂机 于 2013-10-4 08:52 编辑
我好像见过类似脚本
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1