赞 | 0 |
VIP | 1 |
好人卡 | 0 |
积分 | 1 |
经验 | 6652 |
最后登录 | 2016-2-2 |
在线时间 | 66 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 66 小时
- 注册时间
- 2009-2-13
- 帖子
- 382
|
本帖最后由 38571240 于 2010-11-8 19:18 编辑
看LZ的写法,是想在脚本里实现这个方法,只要稍作修改即可,请在脚本区Main之前插入以下:- #--------------------------------------------------------------------------
- # 用法:在某处触发【$game_map.events[A事件ID].turn_toward_event(B事件ID)】
- # 这样A事件将朝向B事件
- #--------------------------------------------------------------------------
- class Game_Event < Game_Character
- #--------------------------------------------------------------------------
- # ● 定义实例变量
- #--------------------------------------------------------------------------
- attr_reader :x # 地图逻辑 X 座标
- attr_reader :y # 地图逻辑 Y 座标
- attr_reader :direction # 面向
- attr_reader :id # ID
-
- def turn_toward_event(id)
- sx = @x - $game_map.events[id].x
- sy = @y - $game_map.events[id].y
- if sx.abs > sy.abs # 横向距离更长?
- @direction = sx > 0 ? 4 : 6
- elsif sx.abs < sy.abs # 纵向距离更长?
- @direction = sy > 0 ? 8 : 2
- end
- end
- end
复制代码 用法:假如地图上有两个事件,如事件ID分别为1和2,只要触发$game_map.events[2].turn_toward_event(1)
那么2号事件将根据坐标差朝向1号事件的方向。
范例:
朝向.exe
(406.09 KB, 下载次数: 57)
|
评分
-
查看全部评分
|