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

Project1

 找回密码
 注册会员
搜索
查看: 7465|回复: 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

Lv1.梦旅人

梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
帖子
417
15
发表于 2010-9-11 23:13:50 | 只看该作者
与其兼容各种情况。还不如大家约定一个固定的格式。应该会更容易实现{:nm_7:}
山寨产品龟速制作中……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
14
发表于 2010-8-26 22:36:42 | 只看该作者
要先開啟或引入相對應的結構檔
才能編輯數據
這也是RB Marshal麻煩的地方

点评

上次讨论时是说多出的省略 少的 用默认值代替  发表于 2010-8-27 19:56
另外,method_missing这个命令很有用。  发表于 2010-8-27 00:15
但是,会有错误信息返回吧?比如,提示没有定义"@ddd1",然后定义一个"@ddd1",再读取,错误,定义,再读取,。。。循环往复,总会结束的。  发表于 2010-8-27 00:15
不对... 没定义实例依然不能读取  发表于 2010-8-26 22:45
这是没办法的事情。但是,我印象里,对类Test,只要定义 class Test;end; 就可以读取Test类的实例了,然后便可取得该实例的各个实例变量的名称,之后(略)  发表于 2010-8-26 22:42
RGE这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

13
 楼主| 发表于 2010-8-26 22:32:08 | 只看该作者
回复 david50407 的帖子


    回复 david50407 的帖子

Txt是方便程序员自行决定脚本的插入位置
然后,我觉得吧,结构和数据还是分开设置比较好,不然会有点麻烦,举个例子:
比如你给Actor类加了一个Armor_New类(这个类是自己新定义的)的实例变量,
但是没有哪个数据文件是直接由Armor_New类实例组成的,那么Armor_New类的结构在哪里定义呢?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

12
 楼主| 发表于 2010-8-26 21:58:54 | 只看该作者
回复 DeathKing 的帖子


    新定义的类也是基本类的继承与复合。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
462 小时
注册时间
2007-7-30
帖子
643
11
发表于 2010-8-26 21:17:46 | 只看该作者

之前的库存...

本帖子中包含更多资源

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

x

点评

txt = =  发表于 2010-8-26 22:26
这样的界面看起来更好!不过,结构/数据的转换改成按钮形式吧,"页"的部分留给数据文件,就像Firefox这样 呃,Class的Ruby输出部分加上一个直接输出成txt文件吧。   发表于 2010-8-26 22:24
回复 支持 反对

使用道具 举报

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这万年大坑 啥时填起来@@

回复 支持 反对

使用道具 举报

Lv1.梦旅人

逃兵

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


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

使用道具 举报

Lv3.寻梦者

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

贵宾

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


    id?这个是什么方法 O_O

点评

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

使用道具 举报

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的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 05:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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