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

Project1

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

策划:RGE数据编辑器 Update 08262243

[复制链接]

Lv1.梦旅人

逃兵

跳转到指定楼层
1
发表于 2010-8-26 20:01:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 轮回者 于 2010-8-27 00:04 编辑

1.若干假定
(1) RGE数据编辑器仅负责对某数据的实例变量进行编辑(如@id等)。
(2) 基础数据类型包括:Array Fixnum Float Hash Integer Numeric String Table
(3) 数据库中数据的类型应为基础数据类型,或由基础数据类型有限次复合构建的衍生类
    关于(3)的解释:即便用户真的有需要,要在数据库文件里面加一个Bitmap或其他类的实例,也完全可以将该实例单独存储在一个文件里,然后仅仅将文件的相对地址储存在数据库文件中。


2.“表里”系统
编辑器分为"表里"系统,其中
      里系统负责对某数据文件的数据类的架构,使用者为游戏组中的程序员。
      表系统负责对实际数据文件的修改,使用者为游戏组中的策划、数据调试人员。
(1)里系统
里系统相当于数据编辑器的系统设置
可参考下图:

里系统应有游戏组程序员进行设置。
数据格式应支持全部常用格式,以及已经设定的数据类
例如,在Actor中嵌套一个Armor类
补充:应该再加一个父类 = =b
           以及一个“开关”,用于设定该数据类实例在数据编辑器中是否可编辑
           Table类应可设置x,y,z size默认值


(2)表系统
参考RMXP的数据库编辑器,或下图

右半部分不妨使用表格,整数、浮点小数、字符可直接在表格中修改,而对嵌套的数据类,则在双击后弹出一个用于修改对话框。

3.容错
虽然说“任何一个数据类型都应该是基础数据类型有限次复合的结果。所以,游戏制作组的程序员应该有能力将所有使用到的数据类型设置出来”
但是,容错系统依然是不可或缺的,例如,Actor类实例中嵌套了一个XXX类的实例,而XXX类实例并未定义,那么,容错系统应该自动添加一个XXX数据类。由于不清楚XXX数据类究竟为哪个数据类的子类,所以,应禁止对XXX数据类的编辑,指导程序员进行相应设置为止。

4.其他建议
(1)不妨单独设置一个“图像相对路径”的数据格式,实际数据格式为String,
在修改时,将弹出对话框,让使用者选择一个图片,并将图片的相对路径作为数据值保存下来。
(2)暂缺

5. 自动化处理
好吧,既然都不明白对用户自己定义的类如何处理,那么,请参看下图:(Data_Test类为用户自定义类)

换句话说,RGE数据库编辑器中Data_Test类的设置文件、Data_Test类定义脚本、Data_Test类的实例数据三者存在一定的转化关系。
或许你或说这样的转化可能会漏掉一些东西,但是,在Data_Test类的实例数据中都未保留的内容凭什么要编辑器支持修改呢?

P.s.
我当初做过一个类似物,效果如下图,只是,当初是用WXRUBY做的,兼容性方面问题不少。所以,谁有空用C#或其他语言写一个吧

本帖子中包含更多资源

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

x

点评

相容性= =  发表于 2010-8-26 23:12
「If you judge people, you have no time to love them.」—— Mother Teresa

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

2
发表于 2010-8-26 20:02:24 | 只看该作者
众口难调啊……顺便说下,设计为数据结构是任意的。如何定义未定 = =b

点评

在游戏程序大致构架未完成的时候不应该进行数据库编辑。  发表于 2010-8-26 22:26
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

3
发表于 2010-8-26 20:04:00 | 只看该作者
观望。
听说元编程可以设计出SDL,这个主意不错。

既然用了鸭子类型,那数据类型就还是免了吧~~~又不是每个人使用参数之前都要检查一下 0_0

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

4
 楼主| 发表于 2010-8-26 20:04:58 | 只看该作者
回复 IamI 的帖子


    任何一个数据类型都应该是基础数据类型有限次复合的结果。
    所以,游戏制作组的程序员应该有能力将所有使用到的数据类型设置出来

点评

Table与Table是相同的么?  发表于 2010-8-26 20:08
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

5
 楼主| 发表于 2010-8-26 20:12:42 | 只看该作者
回复 IamI 的帖子


    Table从逻辑上和一个长度为xsize * ysize * zsize的数值点列应该是没有区别的吧?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

6
 楼主| 发表于 2010-8-26 20:14:06 | 只看该作者
本帖最后由 轮回者 于 2010-8-26 20:17 编辑

回复 DeathKing 的帖子


    那么,如果我新建一个Armor实例arr1,arr.id的初始值的数据格式究竟是String还是Number?


e,好吧,我错了。但是,个别实例变量还是需要特定数据格式的,而且数据库至少是严格限定初始类型的
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

7
发表于 2010-8-26 20:14:41 | 只看该作者
当然如II所说,自己新定义的类又如何处理呢?

实变量应该允许所有Ruby可接受对象,也就是Object。

点评

比如你给Actor类加了一个Armor_New类(这个类是自己新定义的)的实例变量,那么你完全可以先在编辑器中对Armor_New类进行设置,之后再对Actor类进行设置。   发表于 2010-8-26 22:28

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

8
发表于 2010-8-26 20:18:29 | 只看该作者
回复 轮回者 的帖子


    id?这个是什么方法 O_O

点评

一个实例变量 = =b  发表于 2010-8-26 22:26
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

9
 楼主| 发表于 2010-8-26 20:19:30 | 只看该作者
回复 DeathKing 的帖子


   数据库应当是严格限定数据类型的,至少对初始类型需要严格限定
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
10
发表于 2010-8-26 21:09:36 | 只看该作者
先限定类型
输入值时直接限定类型
Array Table ...有专用的编辑器
字符串就是字符串int 就是int 没得商量
这才是完整的数据库编辑器该做的事

点评

没错,就是这个意思。  发表于 2010-8-26 22:20
RGE这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 07:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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