directory search
Ruby用户指南 3、开始 4、简单的例子 5、字符串 6、正则表达式 7、数组 8、回到那些简单的例子 9、流程控制 10、迭代器 11、面向对象思维 12、方法 13、类 14、继承 15、重载方法 16、访问控制 17、单态方法 18、模块 19、过程对象 20、变量 21、全局变量 22、实变量 23、局部变量 24、类常量 25、异常处理:rescue 26、异常处理:ensure 27、存取器 28、对象的初始化 29、杂项 RGSS入门教程 1、什么是RGSS 2、开始:最简单的脚本 3、数据类型:数字 4、数据类型:常量与变量 5、数据类型:字符串 6、控制语句:条件分歧语句 7、控制语句:循环 8、函数 9、对象与类 10、显示图片 11、数组 12、哈希表(关联数组) 13、类 14、数据库 15、游戏对象 16、精灵的管理 17、窗口的管理 18、活动指令 19、场景类 Programming Ruby的翻译 Programming Ruby: The Pragmatic Programmer's Guide 前言 Roadmap Ruby.new 类,对象和变量 容器Containers,块Blocks和迭代Iterators 标准类型 深入方法 表达式Expressions 异常,捕捉和抛出(已经开始,by jellen) 模块 基本输入输出 线程和进程 当遭遇挫折 Ruby和它的世界 Ruby和Web开发 Ruby Tk Ruby 和微软的 Windows 扩展Ruby Ruby语言 (by jellen) 类和对象 (by jellen) Ruby安全 反射Reflection 内建类和方法 标准库 OO设计 网络和Web库 Windows支持 内嵌文档 交互式Ruby Shell 支持 Ruby参考手册 Ruby首页 卷首语 Ruby的启动 环境变量 对象 执行 结束时的相关处理 线程 安全模型 正则表达式 字句构造 程序 变量和常数 字面值 操作符表达式 控制结构 方法调用 类/方法的定义 内部函数 内部变量 内部常数 内部类/模块/异常类 附加库 Ruby变更记录 ruby 1.6 特性 ruby 1.7 特性 Ruby术语集 Ruby的运行平台 pack模板字符串 sprintf格式 Marshal格式 Ruby FAQ Ruby的陷阱
characters

    数据库的内容和使用: 

本篇讲述如何利用脚本来使用RPGXP的数据库。

新建一个游戏工程,按F11打开[脚本编辑器],在左边的目录,寻找 Scene_Title 名字的脚本,它的内容有如下的部分:

# 载入数据库
$data_actors = load_data("Data/Actors.rxdata")
$data_classes = load_data("Data/Classes.rxdata")
$data_skills = load_data("Data/Skills.rxdata")
$data_items = load_data("Data/Items.rxdata")
$data_weapons = load_data("Data/Weapons.rxdata")
$data_armors = load_data("Data/Armors.rxdata")
$data_enemies = load_data("Data/Enemies.rxdata")
$data_troops = load_data("Data/Troops.rxdata")
$data_states = load_data("Data/States.rxdata")
$data_animations = load_data("Data/Animations.rxdata")
$data_tilesets = load_data("Data/Tilesets.rxdata")
$data_common_events = load_data("Data/CommonEvents.rxdata")
$data_system = load_data("Data/System.rxdata") 


这里的信息表明系统是通过读取哪些文件来设置数据库的内容的。$开头的变量是全局变量,这些变量为其它脚本提供了数据库方面可以参照的信息。

所谓 load_data 就是 RGSS 的系统函数之一,是从被指定的文件中读取数据的函数。例如第一行,从 Data 文件夹内的 Actors.rxdata 文件中读取数据赋值给全局变量 $data_actors。

数据库的内容:各对象如下所列

 变量               名称  所属类名

$ data_actors         角色     RPG:: Actor 的数组
$ data_classes        类       RPG:: Class 的数组
$ data_skills         技能     RPG:: Skill 的数组
$ data_items          物品     RPG:: Item 的数组
$ data_weapons        武器     RPG:: Weapon 的数组
$ data_armors         护具     RPG:: Armor 的数组
$ data_enemies        敌人     RPG:: Enemy 的数组
$ data_troops         军队     RPG:: Troop 的数组
$ data_states         状态     RPG:: State 的数组
$ data_animations     动画     RPG:: Animation 的数组
$ data_tilesets       单元     RPG:: Tileset 的数组
$ data_common_events  公共事件 RPG:: CommonEvent 的数组
$ data_system         系统     RPG:: System

从角色到公共事件的12种数据,是与数据库号码相对应的数组,但是在RPGXP因为数组下标是从1开始,所以为了使数组下标与数据库ID一致,数组的第一个单元(第0号)的值为 nil 。

对数据库的使用:

例如:下面的代码表示角色1号的名字。

$data_actors[1].name

下面的代码表示敌人2号的 MaxHP 。

$data_enemies[2].maxhp

下面的代码表示向物品3号指定的图标文件名。

$data_items[3].icon_name

下面的代码表示开关4号的名字。

$data_system.switches[4]
版权声明:RUBY文档中心的所有文章标明[原创]的均为本站作品,版权属RUBY中文化计划,若转载请注明;标明[翻译]的其外文版权归原作者,译文版权属RUBY中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。  
Previous article: Next article: