设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2062|回复: 1
打印 上一主题 下一主题

伪●角色斜行4方向脚本

 关闭 [复制链接]

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
跳转到指定楼层
1
发表于 2008-4-17 04:05:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
注明:
这里只针对玩家做修改而已,其他像事件接触,事件随机斜行,斜行对话等...
都还在开发中,以后有时间会更新修改脚本。

最近提问区还蛮多人在问斜行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
(范例工程有错误请通知。)

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说

Lv1.梦旅人

龙皇

梦石
0
星屑
50
在线时间
83 小时
注册时间
2007-8-8
帖子
2956
2
 楼主| 发表于 2008-4-17 17:11:50 | 只看该作者
注明
这里只针对玩家做修改而已,其他像事件接触,事件随机斜行,斜行对话等...
都还在开发中,以后有时间会更新修改脚本.....
(我最近期中考....)
{/gg}

                签名图来自:無限のファンタジア
                 我的RMXP专题空间--龙使传说
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-4-5 02:06

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表