Project1

标题: 高人教下怎么改按方向键只转向不走啊? [打印本页]

作者: ldn19970110    时间: 2009-4-27 22:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: 塑望    时间: 2009-4-27 22:08
事件页

条件分歧

当上键被按下的时候

移动路线
  更改角色   脸向(自己设)
    穿透off
----

修正完毕...继续上班
作者: ldn19970110    时间: 2009-4-27 22:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: ldn19970110    时间: 2009-4-27 22:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-4-27 22:28
LZ要如何转?
作者: ldn19970110    时间: 2009-4-27 22:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: tommay    时间: 2009-4-27 22:31
以下引用ldn19970110于2009-4-27 14:29:01的发言:

有鼠标可以走,按方向键只转向啊

那个比较难了,恕我不会
作者: ldn19970110    时间: 2009-4-27 22:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 紫苏    时间: 2009-4-28 11:45
插入以下脚本即可,注意的红色部分,再比较下原来的 Game_Player 脚本,很容易理解吧~
class Game_Player
  #--------------------------------------------------------------------------
  # ● 画面更新
  #--------------------------------------------------------------------------
  def update
    # 本地变量记录移动信息
    last_moving = moving?
    # 移动中、事件执行中、强制移动路线中、
    # 信息窗口一个也不显示的时候
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
      # 如果方向键被按下、主角就朝那个方向移动
      case Input.dir4
      when 2
        turn_down
      when 4
        turn_left
      when 6
        turn_right
      when 8
        turn_up
      end
    end
    # 本地变量记忆坐标
    last_real_x = @real_x
    last_real_y = @real_y
    super
    # 角色向下移动、画面上的位置在中央下方的情况下
    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
      # 画面向下卷动
      $game_map.scroll_down(@real_y - last_real_y)
    end
    # 角色向左移动、画面上的位置在中央左方的情况下
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
      # 画面向左卷动
      $game_map.scroll_left(last_real_x - @real_x)
    end
    # 角色向右移动、画面上的位置在中央右方的情况下
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
      # 画面向右卷动
      $game_map.scroll_right(@real_x - last_real_x)
    end
    # 角色向上移动、画面上的位置在中央上方的情况下
    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
      # 画面向上卷动
      $game_map.scroll_up(last_real_y - @real_y)
    end
    # 不在移动中的情况下
    unless moving?
      # 上次主角移动中的情况
      if last_moving
        # 与同位置的事件接触就判定为事件启动
        result = check_event_trigger_here([1,2])
        # 没有可以启动的事件的情况下
        if result == false
          # 调试模式为 ON 并且按下 CTRL 键的情况下除外
          unless $DEBUG and Input.press?(Input::CTRL)
            # 遇敌计数下降
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
        end
      end
      # 按下 C 键的情况下
      if Input.trigger?(Input::C)
        # 判定为同位置以及正面的事件启动
        check_event_trigger_here([0])
        check_event_trigger_there([0,1,2])
      end
    end
  end
end

另外楼主发错区了…… [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: ldn19970110    时间: 2009-4-28 21:40
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1