赞 | 1 |
VIP | 17 |
好人卡 | 3 |
积分 | 1 |
经验 | 49919 |
最后登录 | 2020-2-6 |
在线时间 | 898 小时 |
Lv1.梦旅人 矿工
- 梦石
- 0
- 星屑
- 134
- 在线时间
- 898 小时
- 注册时间
- 2012-10-5
- 帖子
- 1535
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 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, 下载次数: 101)
|
评分
-
查看全部评分
|