RMXP脚本解析(一):总述与Main

写在前面

-本系列文章默认读者使用过RMXP并对Ruby的语法有一定的掌握。

-RMXP工程自带的脚本系统使用的是RGSS1。

-本系列文章使用的脚本是经过紫苑工作室汉化的版本。RXMP版本1.0.3,Ruby1.8.1,RGSS1.0.3。

-我接触RMXP大概是在上初一的时候,接触66RPG是同期。Ruby是我接触过的第二门编程语言,那个时候为了看懂RGSS1我试着去学习日语,但是实在记不住五十音图……也是因为Ruby我现在还有莫名其妙就想给函数名后面加个?的想法。很遗憾现在Ruby好像还是一门冷门语言,我本来以为它能有与Python相同的地位。

RGSS

RGSS(Ruby Game Scripting System),直译为Ruby游戏脚本系统,是RM系列内部使用的特殊Ruby扩展库。

RMXP中的脚本文件默认为Script.rxdata,而不是传统的.rb文件。

Ruby扩展名为.rb的文本文件通常能作为脚本直接运行,然而RGSS中使用独特的形式将脚本压缩成了一个单一文件 。这个文件如果不使用RPGXP 的脚本编辑器是无法编辑的。其中数据由多个组构成,按照目录的顺序从上到下依次运行。(摘自RMXP使用手册)

Main代码解析

注释中细体为汉化组注释(应该是翻译了原注释?),粗体为我的注释。

虽然被放在最后运行,但是我想首先解析Main。因为Main是游戏运行实际上的入口函数(或者你说是第一个执行的部分也可以),我们从Main开始实际把控整个游戏的运行。

#==============================================================================

# ■ Main

#------------------------------------------------------------------------------

#  各定义结束后、从这里开始实际处理。

#==============================================================================

begin

    # 准备过渡

    # 设置系统默认字体

    Font.default_name = (["黑体"]) #修改游戏字体的默认值为黑体

    Graphics.freeze #准备渐变,固定现在的画面(也就是冻结画面)

    # 生成场景对像 (标题画面)

    $scene = Scene_Title.new #给全局变量$scene赋值 为Scene_Title类的实例

    # $scene 为有效的情况下调用 main 过程

    while $scene != nil 

      $scene.main

    end

    # 淡入淡出

    Graphics.transition(20) #淡入淡出方法,参数为渐变帧数

  rescue Errno::ENOENT #rescue表示捕获异常 访问Errno类中的ENOENT常量的值

    # 补充 Errno::ENOENT 以外错误

    # 无法打开文件的情况下、显示信息后结束

    filename = $!.message.sub("No such file or directory - ", "") #$!后接异常信息

    print("找不到文件 #{filename}。 ")

end

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RPGXP脚本学习大全101: 显示文章 102: 显示选择项 103: 数值输入的处理 104: 更改文章选项 105: 按钮输入的处理 106: 等待 108: 注释 111: 条件分歧 112: 循环 113: 中断循环 115: 中断事件处理 116: 暂时消除事件 117: 公共事件 118: 标签 119: 标签跳转 121: 开关操作 122: 变量操作 123: 独立开关操作 124: 计时器操作 125: 增减金钱 126: 增减物品 127: 增减武器 128: 增减防具 129: 替换队员 131: 更改窗口外观 132: 更改战斗 BGM 133: 更改战斗结束 ME 134: 更改禁止存档 135: 更改禁止菜单 136: 更改禁止遇敌 201: 场所移动 202: 设置事件位置 203: 画面卷动 204: 更改地图设置 205: 更改雾的色调 206: 更改雾的不透明度 207: 显示动画 208: 更改透明状态 209: 设置移动路线 210: 等待移动结束 221: 准备渐变 222: 执行渐变 223: 更改画面色调 224: 画面闪烁 225: 画面震动 231: 显示图片 232: 移动图片 233: 旋转图片 234: 更改图片色调 235: 图片消失 236: 天气设置 241: 演奏 BGM 242: 淡出 BGM 245: 演奏 BGS 246: 淡出 BGS 247: 记忆 BGM / BGS 248: 还原 BGM / BGS 249: 演奏 ME 250: 演奏 SE 251: 停止 SE 301: 战斗处理 302: 商店处理 303: 名称输入处理 311: 增减 HP 312: 增减 SP 313: 更改状态 314: 完全回复 315: 增减 EXP 316: 增减等级 317: 增减能力值 318: 增减特技 319: 变更装备 320: 更改角色姓名 321: 更改角色职业 322: 更改角色图形 331: 增减敌人 HP 332: 增减敌人 SP 333: 更改敌人状态 334: 敌人出现 335: 敌人变身 336: 敌人完全回复 337: 显示动画 338: 伤害处理 339: 强制行动 340: 战斗中断 351: 呼叫菜单画面 352: 呼叫存档画面 353: 游戏结束 354: 返回标题画面 355: 脚本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值