赞 | 2 |
VIP | 2 |
好人卡 | 4 |
积分 | 1 |
经验 | 96076 |
最后登录 | 2015-12-27 |
在线时间 | 93 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 93 小时
- 注册时间
- 2008-5-16
- 帖子
- 745
|
范例:
http://rpg.blue/upload_program/d ... ect60_124829740.rar
在main前放上该脚本:
- class Game_Character
- #--------------------------------------------------------------------------
- # ● 接近某事件
- #--------------------------------------------------------------------------
- def move_toward_events(id)
- # 求得与主角的坐标差
- sx = @x - $game_map.events[id].x
- sy = @y - $game_map.events[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
复制代码
以上其他效果都达到的话,让某事件接近某事件应该可以用:
假设 敌人事件id为x
在宠物事件并行处理 写上脚本
$game_map.events[@event].move_toward_events(x)
这样就可以让宠物事件接近敌人事件了
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~ |
|