| 
 
| 赞 | 5 |  
| VIP | 620 |  
| 好人卡 | 38 |  
| 积分 | 70 |  
| 经验 | 125468 |  
| 最后登录 | 2015-7-27 |  
| 在线时间 | 1666 小时 |  
 Lv4.逐梦者 
	梦石0 星屑6955 在线时间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)
 | 
 |