赞 | 5 |
VIP | 620 |
好人卡 | 38 |
积分 | 69 |
经验 | 125468 |
最后登录 | 2015-7-27 |
在线时间 | 1666 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 6855
- 在线时间
- 1666 小时
- 注册时间
- 2008-10-29
- 帖子
- 6710
|
本帖最后由 后知后觉 于 2011-10-12 23:51 编辑
默认的设置移动路线.
在运行的时候是不会在 jumping? 和 moving? 的时候去调用 move_XXXX 类方法.
都是在到达目的地后才调用的.有一个变量叫 @move_route_index
就是记录移动列表 @move_route.list 里的位置的.
简单写一个.大概就是这样- #==============================================================================
- # ■ Game_Event
- #==============================================================================
- class Game_Event < Game_Character
- #--------------------------------------------------------------------------
- # ● 初始化对像
- #--------------------------------------------------------------------------
- alias set_route_old_initialize initialize
- def initialize(map_id, event)
- @route_list = []
- @route_index = 0
- set_route_old_initialize(map_id, event)
- end
- def set_route_list(ary = [])
- @route_list = ary
- @route_index = 0
- end
- alias set_route_old_update update
- def update
- set_route_old_update
- if not moving? and not jumping?
- if @route_index < @route_list.size
- case @route_list[@route_index]
- when 2
- move_down
- when 4
- move_left
- when 6
- move_right
- when 8
- move_up
- end
- @route_index += 1
- if @route_index == @route_list.size
- @route_index = 0
- @route_list.clear
- end
- end
- end
- end
- end
复制代码 调用的话.类似于这样- ary = [2,6,2,6,2,6,2,6]
- event = $game_map.events[1]
- event.set_route_list(ary)
复制代码 |
|