本发明属于计算机软件技术领域,涉及一种图形接口编辑系统,尤其涉及一种基于Delphi的图形接口编辑系统;同时,本发明还涉及一种基于Delphi的图形接口编辑方法。
背景技术:
随着计算机科学与技术的发展,游戏作为计算机领域的重要产业之一也得到了蓬勃发展,网络游戏成为大部分用户的主要社交途径,用户通过游戏内提供的固定图形接口与游戏进行交互并将其反映到其他用户群中;由于用户的习惯与操作方式往往大相迥异,游戏内提供的固定图形接口必定满足不了用户需求,所以有必要解决用户多样化需求的问题。
在传统的图形接口编辑应用中,大多使用线下工具或直接写入代码,并且需要再次运行主应用来检验图形接口的正确性。一方面,对用户来说,频繁的图形接口更改需要频繁重启应用;另一方面,对于开发者来说,频繁修改图形接口增加了大量的工作量。
有鉴于此,如今迫切需要设计一种供灵活多样的图形接口,以便满足各种不同操作习惯的用户。
技术实现要素:
本发明所要解决的技术问题是:提供一种图形接口编辑系统,可满足用户不同图像接口的需求,同时无需线上测试,提高使用的便捷性。
此外,本发明还提供一种图形接口编辑方法,可满足用户不同图像接口的需求,同时无需线上测试,提高使用的便捷性。
为解决上述技术问题,本发明采用如下技术方案:
一种图形接口编辑系统,所述系统包括:图形接口操作模块、XML存储模块、Lua脚本引擎模块、控件管理模块;
所述图形接口操作模块提供给用户进行编辑操作;其他模块均为系统内部使用;
所述图形接口操作模块首先从控件管理模块中获取特定控件的属性信息并反馈给用户,系统在接收到操作后,将操作内容通知控件管理模块并实时更新控件属性,必要时系统通知XML存储模块将控件信息存储到文件中;编辑过后,当控件触发特定事件时,系统通知Lua脚本引擎模块执行相应业务操作;
所述图形接口操作模块包括控件属性读写单元、操作面板窗口单元;控件属性读写单元用于直接和控件管理单元交互,对控件属性进行读写;操作面板窗口单元用于直接展示给用户进行操作的操作面板;
所述XML存储模块包括XML文件读写单元、XML文件管理单元;XML文件读写单元用于快速读取XML文件内容并将其转换为内部可识别数据;XML文件管理单元用于对整个系统所使用的XML文件进行管理并分为不同用途;
所述Lua脚本引擎模块包括Delphi与Lua整合模块、Lua脚本执行模块;Delphi与Lua整合模块用于将Lua脚本引擎嵌入Delphi系统中;Lua脚本执行模块用于在系统中执行Lua脚本并获取返回值。
所述控件管理模块包括控件管理单元、控件创建单元;控件管理单元用于对整个系统中的控件进行集中管理,并按照ID查找特定控件;控件创建单元用以从XML文件中读取控件结构和属性并将其构建至系统中管理,通知也支持旧控件的创建,以做兼容处理。
一种图形接口编辑系统,所述系统包括:图形接口操作模块、XML存储模块、Lua脚本引擎模块、控件管理模块;
所述图形接口操作模块首先从控件管理模块中获取特定控件的属性信息并反馈给用户,系统在接收到操作后,将操作内容通知控件管理模块并实时更新控件属性,必要时系统通知XML存储模块将控件信息存储到文件中;编辑过后,当控件触发特定事件时,系统通知Lua脚本引擎模块执行相应业务操作。
作为本发明的一种优选方案,所述图形接口操作模块包括控件属性读写单元、操作面板窗口单元;控件属性读写单元用于直接和控件管理单元交互,对控件属性进行读写;操作面板窗口单元用于直接展示给用户进行操作的操作面板。
作为本发明的一种优选方案,所述XML存储模块包括XML文件读写单元、XML文件管理单元;XML文件读写单元用于快速读取XML文件内容并将其转换为内部可识别数据;XML文件管理单元用于对整个系统所使用的XML文件进行管理并分为不同用途。
作为本发明的一种优选方案,所述Lua脚本引擎模块包括Delphi与Lua整合模块、Lua脚本执行模块;Delphi与Lua整合模块用于将Lua脚本引擎嵌入Delphi系统中;Lua脚本执行模块用于在系统中执行Lua脚本并获取返回值。
作为本发明的一种优选方案,所述控件管理模块包括控件管理单元、控件创建单元;控件管理单元用于对整个系统中的控件进行集中管理,并按照ID查找特定控件;控件创建单元用以从XML文件中读取控件结构和属性并将其构建至系统中管理,通知也支持旧控件的创建,以做兼容处理。
作为本发明的一种优选方案,所述图形接口操作模块提供给用户进行编辑操作;其他模块均为系统内部使用。
作为本发明的一种优选方案,用户启动客户端并开启所述图形接口操作模块生成的图形接口操作面板,在操作面板中编辑控件属性以及事件脚本,客户端实时改变控件属性或新建控件,同时将编辑好的控件以XML的文件格式进行保存,这里仅对非默认属性进行保存;当用户下次登录时,直接加载用户编辑生成的XML文件,继续使用曾经编辑的图形接口。
一种上述图形接口编辑系统的编辑方法,图形接口操作模块从控件管理模块中获取特定控件的属性信息并反馈给用户,系统在接收到操作后,将操作内容通知控件管理模块并实时更新控件属性,必要时系统通知XML存储模块将控件信息存储到文件中;编辑过后,当控件触发特定事件时,系统通知Lua脚本引擎模块执行相应业务操作。
本发明的有益效果在于:本发明提出的图形接口编辑系统及方法,将图形接口的定制以及扩展功能开放给用户,用户能够根据自身需求编辑出符合操作习惯和功能的图形接口,解决了用户需求多样化的问题。
本发明能够在用户客户端运行时进行编辑,避免了线下编辑线上测试的麻烦,真正实现了所见即所得的便捷性。
同时,本发明将图形接口从开发人员手中剥离出来,大幅度减少了开发人员的工作量,同时避免了图形接口改变后客户端需要更新的麻烦。
此外,用户可以使用客户端提供的脚本接口,根据自身需求编辑合理的游戏逻辑,真正实现了客户端定制化。
附图说明
图1为本发明图形接口编辑系统的组成示意图。
图2为本发明图形接口编辑方法的流程图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
实施例一
请参阅图1,本发明揭示了一种图形接口编辑系统,所述系统包括:图形接口操作模块1、XML存储模块2、Lua脚本引擎模块3、控件管理模块4。所述图形接口操作模块提供给用户进行编辑操作;其他模块均为系统内部使用。所述图形接口操作模块首先从控件管理模块中获取特定控件的属性信息并反馈给用户,系统在接收到操作后,将操作内容通知控件管理模块并实时更新控件属性,必要时系统通知XML存储模块将控件信息存储到文件中;编辑过后,当控件触发特定事件时,系统通知Lua脚本引擎模块执行相应业务操作。
所述图形接口操作模块1包括控件属性读写单元、操作面板窗口单元;控件属性读写单元用于直接和控件管理单元交互,对控件属性进行读写;操作面板窗口单元用于直接展示给用户进行操作的操作面板。
所述XML存储模块2包括XML文件读写单元、XML文件管理单元;XML文件读写单元用于快速读取XML文件内容并将其转换为内部可识别数据;XML文件管理单元用于对整个系统所使用的XML文件进行管理并分为不同用途。
所述Lua脚本引擎模块3包括Delphi与Lua整合模块、Lua脚本执行模块;Delphi与Lua整合模块用于将Lua脚本引擎嵌入Delphi系统中;Lua脚本执行模块用于在系统中执行Lua脚本并获取返回值。
所述控件管理模块4包括控件管理单元、控件创建单元;控件管理单元用于对整个系统中的控件进行集中管理,并按照ID查找特定控件;控件创建单元用以从XML文件中读取控件结构和属性并将其构建至系统中管理,通知也支持旧控件的创建,以做兼容处理。
请参阅图2,本发明还揭示一种上述图形接口编辑系统的编辑方法,图形接口操作模块从控件管理模块中获取特定控件的属性信息并反馈给用户,系统在接收到操作后,将操作内容通知控件管理模块并实时更新控件属性,必要时系统通知XML存储模块将控件信息存储到文件中;编辑过后,当控件触发特定事件时,系统通知Lua脚本引擎模块执行相应业务操作。
实施例二
本实施例中,图形接口编辑系统包括:图形接口编辑模块、XML存储模块、Lua脚本引擎模块、控件管理模块。
【图形接口编辑模块】
1、系统通过控件属性接口获取控件支持编辑的控件属性键值对,通过属性设置接口将编辑的属性写回控件中;
2、特定资源以资源库名称和资源索引号的形式进行编辑,避免资源格式暴露;
3、用户提供图形接口事件的脚本文件名和脚本函数名,以“文件名.函数名”的形式保存。
4、系统将用户编辑过的控件保存至XML文件。
5、用户鼠标点击控件便可在操作面板中查看此控件以及其子控件。
【Lua脚本引擎模块】
1、系统通过Delphi自身特性publish,将系统内对外开放的功能暴露给Lua脚本引擎,Lua脚本引擎用HashMap对这些功能进行管理。
2、事件触发时,系统在特定目录下查找相应的脚本文件,并通过脚本引擎执行脚本函数。
3、对游戏逻辑重要的第一方脚本,使用Luac等工具进行编译,以免游戏重要逻辑暴露。
4、Lua脚本与系统内部格式不一致,系统对内部格式的数据进行字符串编码后传递给脚本。
【XML文件存储模块】
1、系统对控件属性进行遍历,只有在属性值和默认值不一致时,才将这个属性保存至文件中,减少不必要的开销。
2、XML文件以控件为单位,以树状结构保存,控件属性以标签属性的形式保存。
3、资源文件根目录中Manifest.xml文件保存对所有XML文件的索引,系统启动时对Manifest.xml文件中索引的文件读取并实现为控件。
【控件管理模块】
1、控件管理模块接收两种控件:1.原有代码创建的控件;2.XML文件生成的控件;做到了兼容两种不同生成方式的控件;
2、管理模块对每个控件赋予一个ID,以HashMap进行管理,能够进行快速查找。
综上所述,本发明提出的图形接口编辑系统,将图形接口的定制以及扩展功能开放给用户,用户能够根据自身需求编辑出符合操作习惯和功能的图形接口,解决了用户需求多样化的问题。
本发明能够在用户客户端运行时进行编辑,避免了线下编辑线上测试的麻烦,真正实现了所见即所得的便捷性。
同时,本发明将图形接口从开发人员手中剥离出来,大幅度减少了开发人员的工作量,同时避免了图形接口改变后客户端需要更新的麻烦。
此外,用户可以使用客户端提供的脚本接口,根据自身需求编辑合理的游戏逻辑,真正实现了客户端定制化。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。