一种界面生成的系统和方法与流程

文档序号:11864414阅读:190来源:国知局
一种界面生成的系统和方法与流程

本发明涉及一种界面生成的系统和方法,属于计算机游戏的界面开发领域。



背景技术:

界面在游戏设计中有着举足轻重的地位,它与用户(玩家)进入直接的交互, 而格子在界面中也几乎每个游戏都需要用到,使用在:显示技能图标、显示道具(物品)图标、显示怪物头像信息等。传统的做法是,直接拼界面的方式。

例如:策划需求显示装备图标时,负责界面的相关同事就根据需要拼一个格子,格子由一层组成:装备图标。接着策划说,鼠标移进去,需要加一层选中状态。后面,需要又改了,需要加上套装,套装需要使用相同的底色;等级没有达到使用,要加层红色遮罩;装备可以加锁,加锁后需要在装备的图标上,添加一个锁的图标。每件装备还需要品质,不同的品质,其底色也会有所不同等等。

同样的故事,会在技能图标上重演,最开始时,只有技能图标层添加技能冷却时间显示层,后面增加使用中的状态、蓝不够时图标变暗或灰状态。

格子显示的内容会随着设计的变化而变化。并且在不同的地方,格子需要用到的层数,也会不同,如:商店里的物品,其显示的内容和在物品栏里的物品略有不同,这时不需要显示技能冷却时间相关的信息。

这种做法虽然也可以满足需求,只是每逢策划要增加显示,程序与美术需要对现有设计进行调整:修改资源或者修改代码,或者增加资源,以实现策划的需求。但每一遍的修改,意味着需要人去小心调整,意味着低下的效率,意味着容易出漏洞, 意味着质量监管人员后面也要跟进测试。因此,本专利尝试设计一套通用的格子控件,当策划的需求发生变化时,修改表或者少量的代码,就可以实现效果,不需要美术修改资源。



技术实现要素:

针对现有技术的不足之处,本发明的技术方案提出了一种界面生成的系统和方法,用于当界面的需求发生改变时,仅通过修改少率配置,就能够达到需求的效果。

本发明的技术方案包括一种界面生成的系统,其特征在于,该系统包括:界面配置模块,用于使用数据表对界面资源数据及控件进行存储,并使用可编辑交互界面对数据表进行展示,同时提供对数据表数据进行调用和编辑的接口;界面对象模块,用于创建界面对象,并为界面加载所述界面配置模块所存储的对应界面资源,进一步,还对界面对象加载对应的功能处理机制;界面管理模块,用于创建资源对象,其中,资源对象对游戏程序所使用的界面对象进行获取并进行列表展示,还用于获取所述界面配置模块存储的界面资源数据,并使用可视化界面对资源对象下的界面列表进行编辑。

根据所述的界面生成系统,所述的界面配置模块还包括:基础控件子模块,其中基础控件存储于数据表中,包括控件元素及底板,用于根据控件元素的功能实现界面的基础功能;资源数据子模块,用于根据界面及系统的不同,创建对应数据表结构对资源数据进行存储;可编辑子模块,使用可编辑交互界面对所述基础控件子模块及资源数据子模块对应的数据表数据进行自定编辑。

根据所述的界面生成系统,所述的界面对象模块还包括:界面创建子模块,用于创建资源数据对象,进而通过接口向所述界面配置的数据表进行调取界面对应界面资源数据,进一步,创建界面对象,并获取资源数据对象对应的资源数据;界面功能子模块,用于对界面对象对应的数据资源进行解析,并将数据资源进行一一配置给界面对象对应的子界面,进一步,为子界面创建对应的功能接口,用于实现子界面功能;界面编辑子模块,用于实现对子界面的编辑,包括获取编辑指令,根据指令获取子界面对应的关键字段,通过所述界面配置模块的接口进一步获取关键字段对应的数据表,并对数据表数据进行编辑。

根据所述的界面生成系统,所述的界面管理模块还包括:资源对象子模块,用于创建资源对象,其中资源对象包括基础控件功能,对游戏界面进行获取,进一步将该列表中的子界面数据添加至资源对象,继而使用可视界面对资源对象进行列表展示;对象编辑子模块,当需要对界面列下的子界面进行编辑时,对所述资源对象子模块列表中的指定子模块数据进行获取,获取所述界面配置模块数据表并对需要编辑的关键字段使用可视界面进行对应编辑。

本发明的技术方案还包括一种界面生成的方法,该方法包括:使用数据表对界面资源数据及控件进行存储,并使用可编辑交互界面对数据表进行展示,同时提供对数据表数据进行调用和编辑的接口;创建界面对象,并为界面加载所述界面配置模块所存储的对应界面资源,进一步,还对界面对象加载对应的功能处理机制;创建资源对象,其中,资源对象对游戏程序所使用的界面对象进行获取并进行列表展示,还用于获取所述界面配置模块存储的界面资源数据,并使用可视化界面对资源对象下的界面列表进行编辑。

进一步,该方法还包括:根据控件元素的功能实现界面的基础功能,其中的基础控件存储于数据表中,包括控件元素及底板;根据界面及系统的不同,创建对应数据表结构对资源数据进行存储;使用可编辑交互界面对所述基础控件子模块及资源数据子模块对应的数据表数据进行自定编辑。

进一步,该方法还包括:创建资源数据对象,进而通过接口向所述界面配置的数据表进行调取界面对应界面资源数据,进一步,创建界面对象,并获取资源数据对象对应的资源数据;对界面对象对应的数据资源进行解析,并将数据资源进行一一配置给界面对象对应的子界面,进一步,为子界面创建对应的功能接口,用于实现子界面功能;实现对子界面的编辑,包括获取编辑指令,根据指令获取子界面对应的关键字段,通过所述界面配置模块的接口进一步获取关键字段对应的数据表,并对数据表数据进行编辑。

进一步,该方法还包括:创建资源对象,其中资源对象包括基础控件功能,对游戏界面进行获取,进一步将该列表中的子界面数据添加至资源对象,继而使用可视界面对资源对象进行列表展示;需要对界面列下的子界面进行编辑时,对所述资源对象子模块列表中的指定子模块数据进行获取,获取所述界面配置模块数据表并对需要编辑的关键字段使用可视界面进行对应编辑。

本发明的有益效果为:(1)将资源,逻辑,数据分离,结构上易于理解、维护和扩展。(2)界面用到的各类类似格子一层一层的显示功能,通过配置表,可以进行调整与控制,方便美术人员进行调整,提升工作效率;(3)抽取通用的接口,不需要单独编写代码,降低逻辑的复杂度,减少了代码的重复性。

附图说明

图1所示为根据本发明实施方式的总体流程图;

图2所示为根据本发明实施方式的数据表配置图;

图3a,3b所示为根据本发明实施方式的界面对象创建流程图;

图4为根据本发明实施方式的具体实施流程图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的界面生成的系统和方法适用于单机游戏、手机游戏、网页游戏等游戏的界面开发。

图1所示为根据本发明实施方式的总体流程图。包括界面数据配置、界面对象创建及界面管理。其中步骤S101的界面数据配置用于对界面的数据使用可视化编辑的数据表进行展示,步骤S102的界面对象创建用于创建界面并为界面对象加载对应的数据和功能,不是S103的界面管理,用于对界面进行统一管理及编辑。

图2所示为根据本发明实施方式的数据表配置图。使用程序语言进行描述且该实施方案基于unity开发引擎,包括界面控件各层,要显示的内容主要是:图片或者字符,以及是否需要处理鼠标或触模消息。所以首先要给界面控件准备“基础元素”控件。

包括3个基本元素,如下所示:

(1)用于可以装载图片的控件,并且可以处理鼠标消息。如UISprite,并且添加Box Collider。我们可以叫为:“底板”,即为控件的最底层;(2)用于可以装载图片的控件。如: UISprite。我们可以叫为“图片层”;(3)用于显示文字的控件。如ULable。我们可以叫为"文字层"。

界面控件就是由上面(1)和(2)种基本控件元素和Box Collider(盒碰撞器)组成的。我们只要通过表动态创建这个控件,并且处理其中消息,即可以实现灵活配置与控制的界面控件。

接着,我们将收集物品、技能等需求信息,并且用表来管理起来。使用不同的引擎或界面系统,其配置的数据表结构会有所一些不同,本文基于unity引擎的NGUI系统进行举例。其中:

Group:根据需求编辑的各模块的id,在程序里有一个结构体的数值与它对应。

public enum eItemTemplate

{

None

Item,

JianDao,

Count,

}

其中Name为程序索引用的名字。程序里使用一个字典来存起这层的gameobject数据,供程序后面修改数据用。如:private Dictionary<string, GameObject> m_dicAddition;

ResType:资源类型,填1代表是图片容器,对应NGUI是UISprite(界面图集)类,是一个组件,可以添加到GameObject.填2是文本控件,对应NGUI是UILable(标签),是一个组件可以添加到GameObject.

Depth:UI深度值,越小越上层,越深越下层。

Size:该层的大小。

Position:位置偏移,如Amout显示数量时需要调在右下角。

Rotation:图层旋转。

Text:文字控件时,默认显示的文字。

Image:图片控件时,默认显示的图标。

Path:图集路径或字体路径。

Pivot:图层对齐的方式。

我们把界面控件用到的每一层的信息都填到表里,如:程序创建时保存的名字、资源类型、默认是否激活(显示)、图层的深度信息、控件的大小、控件的偏移位置、控件的旋转信息,默认的文本和图片等。我们可以根据需要,再增加列,以扩展界面控件的功能,如:是否可以点击,IsCanClick.当为0时,不处理OnClick事件。

图3a,3b所示为根据本发明实施方式的界面对象创建流程图。其中图3为创建对象的流程,图4为添加相应的界面功能。编写一个子对象类用于实现界面的动态创建功能。这个步骤的流程如图3所示,进而还可以在创建界面时,用一个结构体保存物品或技能的信息,用于游戏的逻辑处理。对于事处理的方式可以提供设置回调接口:

我们根据物品的数据,再给子对象添加一些接口,物品数量、改变物品品质底图、处理界面事件的点击等功能。

从上面的情况上,我们已经实现了界面控件的外观、消息处理功能。后面策划修改增加减少图层,我们可以修改表即可以实现。

图4为根据本发明实施方式的具体实施流程图。其详细执行过程如图4,用户可以根据自己游戏的设计需求,先编写格子的配置表,接着用代码实现创建格子控件的功能界面对象类,再编写对象工厂用于创建具体的各类控件,完成实际需要的功能。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1