Project1

标题: 伪●角色斜行4方向脚本 [打印本页]

作者: TERENCE    时间: 2008-4-17 04:05
标题: 伪●角色斜行4方向脚本
注明:
这里只针对玩家做修改而已,其他像事件接触,事件随机斜行,斜行对话等...
都还在开发中,以后有时间会更新修改脚本。

最近提问区还蛮多人在问斜行4方向,
所以我就在发布了斜行4方向修改脚本,
为了方便先给斜行4方向的角色行走图素材规格方向定义:
(箭头方向为角色面向的方向)

先在Game_Player
找到如下内容:
    case Input.dir4
    when 2
      move_down
    when 4
      move_left
    when 6
      move_right
    when 8
      move_up
    end
改为如下内容:
    case Input.dir4
    when 2
      move_lower_right
    when 4
      move_lower_left
    when 6
      move_upper_right
    when 8
      move_upper_left
    end
再把以下脚本贴在Main前面
class Game_Character
  #--------------------------------------------------------------------------
  # ● 向左下移動
  #--------------------------------------------------------------------------
  def move_lower_left
    unless @direction_fix
      turn_down
    end
    # 下→左、左→下 的通道可以通行的情況下
    if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
       (passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
      # 更新座標
      @x -= 1
      @y += 1
      # 增加步數
      increase_steps
    end
  end
  #--------------------------------------------------------------------------
  # ● 向右下移動
  #--------------------------------------------------------------------------
  def move_lower_right
    unless @direction_fix
      turn_right
    end
    # 下→右、右→下 的通道可以通行的情況下
    if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
       (passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
      # 更新座標
      @x += 1
      @y += 1
      # 增加步數
      increase_steps
    end
  end
  #--------------------------------------------------------------------------
  # ● 向左上移動
  #--------------------------------------------------------------------------
  def move_upper_left
    unless @direction_fix
      turn_left
    end
    # 上→左、左→上 的通道可以通行的情況下
    if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
       (passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
      # 更新座標
      @x -= 1
      @y -= 1
      # 增加步數
      increase_steps
    end
  end
  #--------------------------------------------------------------------------
  # ● 向右上移動
  #--------------------------------------------------------------------------
  def move_upper_right
    unless @direction_fix
      turn_up
    end
    # 上→右、右→上 的通道可以通行的情況下
    if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
       (passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
      # 更新座標
      @x += 1
      @y -= 1
      # 增加步數
      increase_steps
    end
  end
end

范例工程:
http://rpg.blue/upload_program/files/斜行4方向_88804997.rar
(范例工程有错误请通知。)
作者: TERENCE    时间: 2008-4-17 17:11
注明
这里只针对玩家做修改而已,其他像事件接触,事件随机斜行,斜行对话等...
都还在开发中,以后有时间会更新修改脚本.....
(我最近期中考....)
{/gg}




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