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

Project1

 找回密码
 注册会员
搜索
Project1 查看内容

运行时设定数据库(完结篇)

2005-10-31 00:00| 发布者: 柳柳| 查看: 3926| 评论: 0|原作者: 66RPG

摘要:    作者 SailCat(本站论坛发布)  版本与更新  2005年10月31日  相关网址  点此进入发布贴 有关数据库保存方法点此进入  范例工程 不提供  教程内容 最开
 

 作者

SailCat(本站论坛发布)

 版本与更新

 2005年10月31日

 相关网址

 点此进入发布贴

有关数据库保存方法点此进入

 范例工程

不提供



 教程内容

最开始的时候我曾经提到过,想起来写这个,主要是有人问数据库能不能突破上界,结果都写完了才发现没有写出突破上界的方法.....那么补写一个吧......

在第13章也就是最后一章里,我写了修改属性名,开关名/变量名的方法,这些都是可以突破系统上界的。
$data_system.elements = [nil, 属性名1(字串),属性名2, ....]
当然,你没有必要用这个写法,只是更改其中一个的话,可以用
$data_system.elements[下标] = 字串  的方法

在数据库预设好的之外,想要增加,则用
$data_system.elements.push(字串) 这个方法,假如你的最大值是10个属性,执行这个命令后,就会变成11个属性,假如最大值是999个……就突破了……

那么其他的项目呢,这里就要解释一下$data_xxxx的数据结构
除了$data_system以外,其他的$data_xxxx都是一个数组,并且下标0是nil以便和数据库从1开始的一一对应,当下标不为0时,每一个下标里的内容,都是一个游戏实例的对象,见以下:
$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 数组

这个在帮助文件的“脚本入门”里有提及
既然是数组,那么要突破上界就沿用先前的那个方法,生成一个对应的实例,设置好属性,然后push到数组里去,以增加一个特技为例:
new_skill = RPG::Skill.new  # 生成一个实例
这里的new_skill有着和$data_skills[编号]一样的功能,可以调用我写出的那些方法:
new_skill.name = ....
new_skill.sp_cost = ....
.....
设定完以后,不要忘了加上这样一条:
new_skill.id = $data_skills.size + 1
实际上,id是这些RPG::开头对象的共同属性,标识了它们在数据库中的编号,以便程序进行比较和识别。令它等于系统对象的大小加上1,就可以在加入它到数据库后,和编号下标能对上。
最后是 $data_skills.push(new_skill),这样就新增了一个特技。


 

教程的通用说明

本站发布的教程,大多经过一些测试,应该都能够实现相应功能。但不保证所有的教程都是最优化的制作方法。

相关问题,点击发布贴进行讨论。谢谢您的鼓励与支持。


鲜花

刚表态过的朋友 (0 人)

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

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

GMT+8, 2024-4-19 20:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部