class Game_Character
def move_type_toward_character(event_id)
# 求得与主角坐标的差
sx = @x - $game_map.events[event_id].x
sy = @y - $game_map.events[event_id].y
# 求得差的绝对值
abs_sx = sx > 0 ? sx : -sx
abs_sy = sy > 0 ? sy : -sy
# 如果纵横共计离开 20 个元件
if sx + sy >= 20
# 随机
move_random
return
end
# 随机 0~5 的分支
case rand(6) #——————————————————————可以更改
when 0..3 # 接近主角
move_toward_character(event_id)
when 4 # 随机
move_random
when 5 # 前进一步
move_forward
end
end
def move_toward_character(event_id)
# 求得与主角的坐标差
sx = @x - $game_map.events[event_id].x
sy = @y - $game_map.events[event_id].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
以下引用snowball1981于2009-5-29 17:53:55的发言:
我创建事件,插入脚本,可是无法粘贴上面的脚本代码。
请问这些脚本代码放在哪里呢?还是我要亲自打上去?
以下引用snowball1981于2009-5-29 18:18:16的发言:
我没弄明白。
把脚本复制进去,然后按钮照做后,感觉怪怪的。
我的意思是:
人物 A 有固定路线 X ,人物B紧跟随人物 A 走路线 X 。
另外人物 C 有固定路线 Y ,人物 D 紧跟随人物 C 走路线 Y 。
地图上还人物 E 走固定路线 Z ,人物 F、G、H 跟随人物 E 走固定路线 Z 。
以下引用snowball1981于2009-5-29 18:18:16的发言:
我没弄明白。
把脚本复制进去,然后按钮照做后,感觉怪怪的。
我的意思是:
人物 A 有固定路线 X ,人物B紧跟随人物 A 走路线 X 。
另外人物 C 有固定路线 Y ,人物 D 紧跟随人物 C 走路线 Y 。
地图上还人物 E 走固定路线 Z ,人物 F、G、H 跟随人物 E 走固定路线 Z 。
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |