脚本编辑器马上完成

这两天花了点时间,终于马上就要将编辑器搞完了。
第一天设计了下界面及相关逻辑,并整成文档。
每次在写设计文档的时候,总是按耐不住心中那股急切的火焰,不待文档设计好,就迫不及待的去敲代码了,结果就是“我靠,毁了”。之前写战斗系统时就是很近的例子了,导致战斗系统三遍,我擦,当然还有其他原因,但文档没设计好会很浪费时间。
其实设计的不是案子,有些系统案子写完了,系统做完了,案子也就没什么用了。主要是在写案子的过程中整理思路,起码将明显的设计难点与陷阱都理清楚了。
这次写文档的时候差点又犯了这毛病了,不过还好,哈哈。

到目前这个编辑器还没遇到什么难点,有一个关于字符串的解析替换之类的感觉超级麻烦,所以用另一种方法显示了,就是一个函数在选择完参数后,将这整个函数都显示出来的地方。下面放个截图的时候说下。

FOY(VO~LA9[X2C``(P}U(BC

添加动作的窗口。本来计划是当选择完所有函数的参数后,会在“动作文本”中显示具体的参数,但实际对于字符串的查找替换等等有些比较繁琐的逻辑,突然感觉自己是在折磨自己,所以索性就用简单的一个ListBox来显示参数的填充内容了,如上图所示。

每个参数都有参数类型,比如int,float,Char,CharType,bool,Text等等,当点击参数的链接时会获取这个类型,然后根据类型来打开不同的窗口,比如上图中一共有两种类型:Char,Int,分别用这两个窗口显示的:

image

参数还可以是函数,但这个函数的返回值必须是这个参数规定的类型,比如:

@GI6XLU101(X7EQS%MF2DAJ
这个GetPlayerChar的函数是个具有Char类型返回值的函数。

关于脚本的配置,首先是模板的配置,也即在编辑器中供选择的配置。主要包括两种类型,一种是动作,也即具体的脚本,比如图中的“(角色)移动到(x,y)”;另一种就是具有返回值的,比如GetPlayerChar.
两种类型在不同的地方显示使用。
这个具体的数据结构不说了,真麻烦。

马上完成,但还没有完成。还有个脚本序列的窗口,这个窗口将会有一个列表显示当前编辑的所有的脚本。
然后这个序列就可以保存为脚本文件,在游戏中调用了。
至此脚本编辑器才算基本完成,剩下的就是脚本模板的添写了,这个会在以后的游戏开发中不断地增加;还有就是与角色编辑器等其他编辑器进行合作的部分,这个以后再说。

发表评论

邮箱地址不会被公开。 必填项已用*标注

* Copy This Password *

* Type Or Paste Password Here *