CN111708563B - 游戏中ui控件进行更新的方法及装置 - Google Patents

游戏中ui控件进行更新的方法及装置 Download PDF

Info

Publication number
CN111708563B
CN111708563B CN202010589277.8A CN202010589277A CN111708563B CN 111708563 B CN111708563 B CN 111708563B CN 202010589277 A CN202010589277 A CN 202010589277A CN 111708563 B CN111708563 B CN 111708563B
Authority
CN
China
Prior art keywords
game
control
information
control information
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010589277.8A
Other languages
English (en)
Other versions
CN111708563A (zh
Inventor
付坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bingfeng Mutual Entertainment Technology Co ltd
Original Assignee
Beijing Bingfeng Mutual Entertainment Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bingfeng Mutual Entertainment Technology Co ltd filed Critical Beijing Bingfeng Mutual Entertainment Technology Co ltd
Priority to CN202010589277.8A priority Critical patent/CN111708563B/zh
Publication of CN111708563A publication Critical patent/CN111708563A/zh
Application granted granted Critical
Publication of CN111708563B publication Critical patent/CN111708563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了一种游戏中UI控件进行更新的方法及装置,其中,该方法包括:在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息;解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。通过本发明,解决了相关技术在虚拟游戏中更新控件视图需要编写大量代码的技术问题。

Description

游戏中UI控件进行更新的方法及装置
技术领域
本发明涉及游戏开发领域,具体而言,涉及一种游戏中UI控件进行更新的方法及装置。
背景技术
相关技术中,用户界面(User Interface,简称为UI)是虚拟游戏的人机交互、操作逻辑、界面美观的整体设计,是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换,用户界面是介于用户与硬件而设计彼此之间交互沟通相关软件。
UI控件在代码中包括底层的函数接口和前端的视图界面,底层函数控制前端界面的变化,在相关技术的UI框架下开发UI逻辑时,如果需要更新一个UI控件的外观,需要编写大量的相关代码,以更新游戏主角的健康值为例:代码中健康值的文本控件名为self._textHP,当玩家的健康值数据playerHp发生变化时,为了让UI控件外观发生变化,需要编写如下的代码:
ComponentOpt.SetActive(self._textHP,true)
Text.SetText(self._textHP,playerHp)
类似的还有更新图标、滚动条位置等等各种UI控件。这些都需要进行大量细致的编码工作,相关技术中的逻辑代码冗余,臃肿,必须穷尽所有的情况,针对每一个事件,设置一段代码,以对应控件显示的一个视图界面。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种游戏中UI控件进行更新的方法及装置。
根据本发明的一个实施例,提供了一种游戏中UI控件进行更新的方法,包括:在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息;解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
可选的,通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息包括:在游戏引擎的交互界面中添加所述UI控件,并设置所述UI控件的描述信息。
可选的,依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中,包括:根据所述游戏UI控件信息搜索所述UI控件在虚拟游戏场景的游戏界面中的控件信息,并将所述控件信息传递至模板代码类;在所述模板代码类中将所述控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中。
可选的,根据所述游戏UI控件信息搜索所述UI控件在虚拟游戏场景的游戏界面中的控件信息,并将所述控件信息传递至模板代码类包括:在所述虚拟游戏场景的游戏界面中搜索与所述游戏UI控件信息匹配的以下控件信息至少之一:类型、名称、操作的字段、访问方式;将所述控件信息存储至codeinfo的数据结构中。
可选的,在所述模板代码类中将所述控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中包括:解析所述模板代码类的替换函数,以及获取所述控件信息中的实例info参数,其中,所述替换函数用于指示与类型匹配的lua语法的代码文本,所述实例info参数用于指示所述控件信息的类型;在预设代码库中查找与所述控件信息的类型匹配的代码文本,并基于所述代码文本组装所述游戏逻辑脚本组件,并嵌入到游戏程序中。
可选的,解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配,包括:提取所述更新信息中的控件标签,以及与所述控件标签对应的控件值;根据所述控件标签判断所述UI控件是否为所述游戏逻辑脚本组件的配置项;若所述UI控件为所述游戏逻辑脚本组件的配置项,将所述控件值转换为属性值,其中,所述属性值用于表征所述UI控件的显示内容。
可选的,依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作,包括:调用unity工具中的更新函数,执行所述更新函数,以查找与所述UI控件对应属性数据对应的视图元素,其中,所述视图元素包括以下至少之一:显示状态、显示位置、文字、颜色、素材;根据所述视图元素在所述UI控件的视图界面中更新当前视图。
可选的,接收游戏程序中涉及UI控件对应属性数据的更新信息包括以下之一:响应用户针对所述UI控件输入的操控事件,获取所述操控事件的第一更新信息;响应针对所述UI控件的网络事件,获取所述网络事件的第二更新信息;响应针对所述UI控件的定时事件,获取所述定时事件的第三更新信息。
可选的,所述UI控件的UI函数接口包括以下之一:游戏对象,粒子,项目列表,项目组,变换,图像,文本,超链接文本内容控制接口,UI组间管理器。
根据本发明的另一个实施例,提供了一种游戏中UI控件进行更新的装置,包括:配置模块,用于在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息;解析模块,用于解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;更新模块,用于依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
可选的,所述配置模块包括:设置单元,用于在游戏引擎的交互界面中添加所述UI控件,并设置所述UI控件的描述信息。
可选的,所述配置模块包括:搜索单元,用于根据所述游戏UI控件信息搜索所述UI控件在虚拟游戏场景的游戏界面中的控件信息,并将所述控件信息传递至模板代码类;翻译单元,用于在所述模板代码类中将所述控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中。
可选的,所述搜索单元包括:搜索子单元,用于在所述虚拟游戏场景的游戏界面中搜索与所述游戏UI控件信息匹配的以下控件信息至少之一:类型、名称、操作的字段、访问方式;存储子单元,用于将所述控件信息存储至codeinfo的数据结构中。
可选的,所述翻译单元包括:解析子单元,用于解析所述模板代码类的替换函数,以及获取所述控件信息中的实例info参数,其中,所述替换函数用于指示与类型匹配的lua语法的代码文本,所述实例info参数用于指示所述控件信息的类型;处理子单元,用于在预设代码库中查找与所述控件信息的类型匹配的代码文本,并基于所述代码文本组装所述游戏逻辑脚本组件,并嵌入到游戏程序中。
可选的,所述解析模块包括:提取单元,用于提取所述更新信息中的控件标签,以及与所述控件标签对应的控件值;判断单元,用于根据所述控件标签判断所述UI控件是否为所述游戏逻辑脚本组件的配置项;转换单元,用于若所述UI控件为所述游戏逻辑脚本组件的配置项,将所述控件值转换为属性值,其中,所述属性值用于表征所述UI控件的显示内容。
可选的,所述更新模块包括:调用单元,用于调用unity工具中的更新函数,执行所述更新函数,以查找与所述UI控件对应属性数据对应的视图元素,其中,所述视图元素包括以下至少之一:显示状态、显示位置、文字、颜色、素材;更新单元,用于根据所述视图元素在所述UI控件的视图界面中更新当前视图。
可选的,所述配置模块包括以下之一:第一获取单元,用于响应用户针对所述UI控件输入的操控事件,获取所述操控事件的第一更新信息;第二获取单元,用于响应针对所述UI控件的网络事件,获取所述网络事件的第二更新信息;第三获取单元,用于响应针对所述UI控件的定时事件,获取所述定时事件的第三更新信息。
可选的,所述UI控件的UI函数接口包括以下之一:游戏对象,粒子,项目列表,项目组,变换,图像,文本,超链接文本内容控制接口,UI组间管理器。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,配置游戏逻辑脚本组件加入到制作的游戏程序中,在游戏运行时,接收游戏程序中涉及UI控件对应属性数据的更新信息,解析UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配,最后依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作,当UI控件对应属性数据的更新信息变化的时候,通过统一的游戏逻辑脚本组件进行解析,更新UI控件的代码是固定的,可以自动完成UI控件的外观设置,解决了相关技术在虚拟游戏中更新控件视图需要编写大量代码的技术问题,能大幅降低UI外观更新时的编码量,降低编码难度,实现对数据变化的自动更新显示。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种游戏中UI控件进行更新的计算机的硬件结构框图;
图2是根据本发明实施例的一种游戏中UI控件进行更新的方法的流程图;
图3是本发明实施例的网络架构图;
图4是本发明实施例采用配置文件实现视图更新的流程图;
图5是根据本发明实施例的一种游戏中UI控件进行更新的装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在手机、平板、服务器、计算机或者类似的电子终端中执行。以运行在计算机上为例,图1是本发明实施例的一种游戏中UI控件进行更新的计算机的硬件结构框图。如图1所示,计算机可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种游戏中UI控件进行更新的方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种游戏中UI控件进行更新的方法,图2是根据本发明实施例的一种游戏中UI控件进行更新的方法的流程图,如图2所示,该流程包括:输入需要查询的两个历史数据节点,通过搜索,将两个历史数据节点之间的关联节点用路径连接展现。
在本实施例的一个实施方式中,图2是根据本发明实施例中一个实施方式的流程图,如图2所示,包括:
步骤S202,在游戏的制作工具中设置一游戏UI控件配置接口;通过游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息;
本实施例的UI控件对应属性数据的更新信息是用户操控虚拟游戏,或者是游戏策略控制虚拟游戏生成的变量数据,本实施例的UI控件,对应游戏界面中的可变图标,如虚拟角色的血条,任务的进度条,系统提示框等。
步骤S204,解析UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;
本实施例的游戏逻辑脚本组件用于解析更新信息,将更新信息转换为控件的视图更新函数可以识别的属性值,游戏逻辑脚本组件根据预先设置和翻译的配置项,可以解析来自不同控件的更新信息,针对同一控件的不同更新信息,将其转换为不同的属性值。
步骤S206,依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
通过上述步骤,配置游戏逻辑脚本组件加入到制作的游戏程序中,在游戏运行时,接收游戏程序中涉及UI控件对应属性数据的更新信息,解析UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配,最后依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作,当UI控件对应属性数据的更新信息变化的时候,通过统一的游戏逻辑脚本组件进行解析,更新UI控件的代码是固定的,可以自动完成UI控件的外观设置,解决了相关技术在虚拟游戏中更新控件视图需要编写大量代码的技术问题,能大幅降低UI外观更新时的编码量,降低编码难度,实现对数据变化的自动更新显示。
本实施例的方案可以应用在多个场景,接收游戏程序中涉及UI控件对应属性数据的更新信息包括以下之一:响应用户针对UI控件输入的操控事件,获取操控事件的第一更新信息;响应针对UI控件的网络事件,获取网络事件的第二更新信息;响应针对UI控件的定时事件,获取定时事件的第三更新信息。
本实施例的预设配置文件是根据交互界面的输入配置自动生成,以中间件的形式嵌入在游戏开发引擎制作(如Unity3D)的游戏代码(游戏程序)中,通过编写自动更新UI控件的逻辑代码,大量化简UI更新时的代码编写复杂度。通过游戏UI控件配置接口设置需要更新的游戏UI控件信息包括:在游戏引擎的交互界面中添加UI控件,并设置UI控件的描述信息。
依据需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中,包括:
S11,根据游戏UI控件信息搜索UI控件在虚拟游戏场景的游戏界面中的控件信息,并将控件信息传递至模板代码类;
在本实施例的一个实施方式中,根据游戏UI控件信息搜索UI控件在虚拟游戏场景的游戏界面中的控件信息,并将控件信息传递至模板代码类包括:在虚拟游戏场景的游戏界面中搜索与游戏UI控件信息匹配的以下控件信息至少之一:类型、名称、操作的字段、访问方式;将控件信息存储至codeinfo的数据结构中。
S12,在模板代码类中将控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中。
在本实施例的一个实施方式中,在模板代码类(GenerateCodeByTemplate类)将控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中包括:解析模板代码类的替换函数,以及获取控件信息中的实例info参数,其中,替换函数用于指示与类型匹配的lua语法的代码文本,实例info参数用于指示控件信息的类型;在预设代码库中查找与控件信息的类型匹配的代码文本,并基于代码文本组装游戏逻辑脚本组件,并嵌入到游戏程序中。
lua语法构成的预设配置文件是一种嵌入式代码,可以被其他语言的代码多调用,也可以调用其他语言的代码,例如,被虚拟游戏的脚本语言调用。
本实施例的替换函数(Replace函数)用于接收模板信息template参数和CodeInfo类型的实例info参数,该函数完成了从用户操作界面输入的信息到具体lua配置代码文件的翻译工作。
编辑器通过Unity3D的编辑器扩展能力,编写交互界面,界面显示可被用户操作的控件,这些控件是根据配置文件的所需信息而设计的,包括控件的描述信息(例如,value(Test)控件的status,Scope Manifest Host,uistatus等),基于描述信息搜集游戏界面中相关的控件信息,包括类型、名字、操作的学段、访问方式等,将这些信息会存于Codeinfo的数据结构中,并传递给GenerateCode By Template类,后者负责将信息翻译成具体的符合lua语法的配置代码文件。
通过本实施方式的方案,可以自动编写用于更新UI控件的逻辑代码,大量化简UI更新时的代码编写复杂度。
本实施例的UI控件可以从多个控件集合中选择,采用本实施例的方案,可以实现对控件视图界面的自动控制,UI控件的UI函数接口包括以下之一:游戏对象(GameObject),粒子(Particle),遮罩激活的游戏对象(GameObjectActivedByMask),项目列表(ItemList),项目组(ItemGroup),变换(Transform),矩形变换(RectTransform),图像(Image),原始图像(RawImage),文本(Text),超链接文本内容控制接口(HrefText),UI组间管理器(UITweenGroupManager)。
下面对不同类型的控件进行举例说明,包括控件类型,支持的字段,以及对应的接口或实现原理:
GameObjectactive,控制一个GameObject的显隐;
Particle state,控制ParticleSystem的根GameObject的active字段,实现粒子系统的开关能力;
GameObjectActivedByMask ActiveByMask,通过GameObject上设置的不同的TagName来进行批量显隐控制,TagName是unity3d提供的功能;
ItemList items,对应ItemList.SetDatas接口,用来填充一系列组织成列表的形式的控件,垂直或者水平排列;
ItemGroup items,对应ItemGroup.SetDatas接口,用来填充一系列组织成格子的形式的控件,类似表格,可以M行N列;
Transform localPosition,控制Transform对象的本地坐标值;
Transform position,控制Transform对象的世界坐标值;
RectTransform size,控制UI控件的大小;
InputField readonly,控制文本输入框是否可以输入;
InputField text,控制文本输入框显示的文本内容;
Image sprite Image,控制Image控件显示哪个图元;
Image fillAmount,控制图元的渲染区域的占比;
Image color,控制Image整体的颜色值;
Image material,控制用于渲染Image控件的材质;
RawImage texture,控制RawImage对象显示哪个图片;
RawImage TextureOpacity,游戏自主的扩展接口,结合了图片资源管理系统,用于快捷设置图片,并自动的处理图片加载到内存和从内存中卸载的流程;
RawImage IsLoaded,检查图片是否加载完成;
RawImage DemoRenderer,游戏自主的扩展接口,使用自主编写的UISceneRenderer脚本,将3D对象渲染到一张图片上用于UI显示;
RawImage TextureWithColor,设置图片的同时,给图片叠加颜色值;
RawImage SetGray,控制是否使用灰度模式显示图片内容;
Text texti18n,游戏自主的扩展接口,基于多国语言方案的文本内容控制接口;
Text text,控制文本内容;
Text color,控制文本颜色;
Text SetTextWithEllipsis,控制文本输入内容,如果过长则显示成省略号"...";
HrefText texti18n,游戏自主的扩展类型,基于多国语言方案的超链接文本内容控制接口;
HrefText text,游戏自主的扩展类型,超链接文本内容控制接口;
UITweenGroupManager PlayGroup,游戏自主的扩展类型,控制自主编写的UITweenGroupManager脚本,控制多个UITween对象的播放动画;
UITweenGroupManager ResetToBeginningGroup,游戏自主的扩展类型,控制自主编写的UITweenGroupManager脚本,控制多个UITween对象,将其重置到动画的起始状态;
UITweenGroupManager ResetToBeginningAndPlayGroup,游戏自主的扩展类型,控制自主编写的UITweenGroupManager脚本,控制多个UITween对象,将其重置到动画的起始状态,并播放动画。
以Text控件中的text字段和color字段为例,从Model层自动将数据传递到Text类型的控件的text字段和color字段的代码,对TEXT控件中的text字段、color字段的设置,以下是实现代码:
/>
/>
本实施例的预设配置文件是一个基于MVBC(模型-视图-行为-控制器)网络构架的脚本文件,图3是本发明实施例的网络架构图,MVBC分别是是模型(model)-视图(view)-行为(Behavior)-控制器(controller)的缩写,模型是虚拟游戏中用于处理应用程序数据逻辑的部分,将底层数据转换为视图数据。视图是虚拟游戏中处理数据显示的部分,依据模型传输的视图数据显示或更新UI视图。控制器是虚拟游戏中处理用户交互的部分,从视图读取数据,控制用户输入,并向模型发送数据,行为用于在前端或者后台触发事件。本实施例的方案改进了模型和视图的自动化更新流程,视图调游戏引擎底层的代码,通过编辑一个配置文件,实现自动调用,行为层的事件变化,影响模型层的逻辑变化,进而视图层控制视图变化。
在本实施例的一个实施方式中,解析UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配,包括:提取更新信息中的控件标签,以及与控件标签对应的控件值;根据控件标签判断UI控件是否为游戏逻辑脚本组件的配置项;若UI控件为游戏逻辑脚本组件的配置项,将控件值转换为属性值,其中,属性值用于表征UI控件的显示内容。
图4是本发明实施例采用配置文件实现视图更新的流程图,在预处理阶段,在游戏开发引擎(如Unity),采用UI编辑器中,通过添加和设置控件的描述信息,翻译成UI控件外观的配置编辑器(即配置文件),在用户或者游戏策略触发操作事件生成操作数据时,在数据层(网络架构中的Model层)生成结构化的数据,包括tag标记和value,然后数据层将数据传输给View层,自动解析Model层的数据,编辑器中标记的UI控件对应的属性进行name标记,判断是否为配置文件中配置项,如果是,Unity的UI底层更新设置函数接口,通过调用统一的更新函数,完成外观更新。
可选的,依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作,包括:调用unity工具中的更新函数,执行更新函数,以查找与UI控件对应属性数据对应的视图元素,其中,视图元素包括以下至少之一:显示状态(如显隐状态、显示样式等)、显示位置(如视图坐标、视图区域、视图尺寸等)、文字(如数值、文本内容等)、颜色(如文本颜色)、素材(如图元、图片内容等);根据视图元素在UI控件的视图界面中更新当前视图。
在一个示例中,虚拟游戏中的第一角色和第二角色相互攻击,第一角色受到第二角色释放的技能,控件self._textHP控制的健康值(血量)数据playerHp发生变化,通过配置文件解析攻击事件,生成属性值-30,进而调用更新函数进行视图更新,将当前的数值100,更新为70。
在一个实例中,更新函数为:UpdateView("status",Model:updateHP()),这样只需要按照之前工具里配置的控件标签,直接传递数字的值,再统一调用view.UpdateView函数即可完成各种逻辑引起的UI控件的外观更新,无需在代码中关心具体控件的类型和字段,从而大幅化简UI外观更新时的代码复杂度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种游戏中UI控件进行更新的装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供了一种游戏中UI控件进行更新的装置,图5是根据本发明实施例的一种游戏中UI控件进行更新的装置的结构框图,如图5所示,该装置包括:配置模块50,解析模块52,更新模块54,其中,
配置模块50,用于在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息;
解析模块52,用于解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;
更新模块54,用于依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
可选的,所述配置模块包括:设置单元,用于在游戏引擎的交互界面中添加所述UI控件,并设置所述UI控件的描述信息。
可选的,所述配置模块包括:搜索单元,用于根据所述游戏UI控件信息搜索所述UI控件在虚拟游戏场景的游戏界面中的控件信息,并将所述控件信息传递至模板代码类;翻译单元,用于在所述模板代码类中将所述控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中。
可选的,所述搜索单元包括:搜索子单元,用于在所述虚拟游戏场景的游戏界面中搜索与所述游戏UI控件信息匹配的以下控件信息至少之一:类型、名称、操作的字段、访问方式;存储子单元,用于将所述控件信息存储至codeinfo的数据结构中。
可选的,所述翻译单元包括:解析子单元,用于解析所述模板代码类的替换函数,以及获取所述控件信息中的实例info参数,其中,所述替换函数用于指示与类型匹配的lua语法的代码文本,所述实例info参数用于指示所述控件信息的类型;处理子单元,用于在预设代码库中查找与所述控件信息的类型匹配的代码文本,并基于所述代码文本组装所述游戏逻辑脚本组件,并嵌入到游戏程序中。
可选的,所述解析模块包括:提取单元,用于提取所述更新信息中的控件标签,以及与所述控件标签对应的控件值;判断单元,用于根据所述控件标签判断所述UI控件是否为所述游戏逻辑脚本组件的配置项;转换单元,用于若所述UI控件为所述游戏逻辑脚本组件的配置项,将所述控件值转换为属性值,其中,所述属性值用于表征所述UI控件的显示内容。
可选的,所述更新模块包括:调用单元,用于调用unity工具中的更新函数,执行所述更新函数,以查找与所述UI控件对应属性数据对应的视图元素,其中,所述视图元素包括以下至少之一:显示状态、显示位置、文字、颜色、素材;更新单元,用于根据所述视图元素在所述UI控件的视图界面中更新当前视图。
可选的,所述配置模块包括以下之一:第一获取单元,用于响应用户针对所述UI控件输入的操控事件,获取所述操控事件的第一更新信息;第二获取单元,用于响应针对所述UI控件的网络事件,获取所述网络事件的第二更新信息;第三获取单元,用于响应针对所述UI控件的定时事件,获取所述定时事件的第三更新信息。
可选的,所述UI控件的UI函数接口包括以下之一:游戏对象,粒子,遮罩激活的游戏对象,项目列表,项目组,变换,矩形变换,图像,原始图像,文本,超链接文本内容控制接口,UI组间管理器。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息;
S2,解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;
S3,依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息;
S2,解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;
S3,依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种游戏中UI控件进行更新的方法,其特征在于,包括:
在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息,所述UI控件对应属性数据的更新信息包括用户操控虚拟游戏,或者游戏策略控制虚拟游戏生成的变量数据;
解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;
依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
2.根据权利要求1所述的方法,其特征在于,通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息包括:
在游戏引擎的交互界面中添加所述UI控件,并设置所述UI控件的描述信息。
3.根据权利要求1所述的方法,其特征在于,依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中,包括:
根据所述游戏UI控件信息搜索所述UI控件在虚拟游戏场景的游戏界面中的控件信息,并将所述控件信息传递至模板代码类;
在所述模板代码类中将所述控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中。
4.根据权利要求3所述的方法,其特征在于,根据所述游戏UI控件信息搜索所述UI控件在虚拟游戏场景的游戏界面中的控件信息,并将所述控件信息传递至模板代码类包括:
在所述虚拟游戏场景的游戏界面中搜索与所述游戏UI控件信息匹配的以下控件信息至少之一:类型、名称、操作的字段、访问方式;
将所述控件信息存储至codeinfo的数据结构中。
5.根据权利要求3所述的方法,其特征在于,在所述模板代码类中将所述控件信息翻译成lua语法的游戏逻辑脚本组件加入到制作的游戏程序中包括:
解析所述模板代码类的替换函数,以及获取所述控件信息中的实例info参数,其中,所述替换函数用于指示与类型匹配的lua语法的代码文本,所述实例info参数用于指示所述控件信息的类型;
在预设代码库中查找与所述控件信息的类型匹配的代码文本,并基于所述代码文本组装所述游戏逻辑脚本组件,并嵌入到游戏程序中。
6.根据权利要求1所述的方法,其特征在于,解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配,包括:
提取所述更新信息中的控件标签,以及与所述控件标签对应的控件值;
根据所述控件标签判断所述UI控件是否为所述游戏逻辑脚本组件的配置项;
若所述UI控件为所述游戏逻辑脚本组件的配置项,将所述控件值转换为属性值,其中,所述属性值用于表征所述UI控件的显示内容。
7.根据权利要求1所述的方法,其特征在于,依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作,包括:
调用unity工具中的更新函数,执行所述更新函数,以查找与所述UI控件对应属性数据对应的视图元素,其中,所述视图元素包括以下至少之一:显示状态、显示位置、文字、颜色、素材;
根据所述视图元素在所述UI控件的视图界面中更新当前视图。
8.根据权利要求1所述的方法,其特征在于,接收游戏程序中涉及UI控件对应属性数据的更新信息包括以下之一:
响应用户针对所述UI控件输入的操控事件,获取所述操控事件的第一更新信息;
响应针对所述UI控件的网络事件,获取所述网络事件的第二更新信息;
响应针对所述UI控件的定时事件,获取所述定时事件的第三更新信息。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述UI控件的UI函数接口包括以下之一:
游戏对象,粒子,项目列表,项目组,变换,图像,文本,超链接文本内容控制接口,UI组间管理器。
10.一种游戏中UI控件进行更新的装置,其特征在于,包括:
配置模块,用于在游戏的制作工具中设置一游戏UI控件配置接口;通过所述游戏UI控件配置接口设置需要更新的游戏UI控件信息;依据所述需要更新的游戏UI控件信息,生成游戏逻辑脚本组件加入到制作的游戏程序中;其中,所述游戏逻辑脚本组件配置为在游戏运行时:接收游戏程序中涉及UI控件对应属性数据的更新信息,所述UI控件对应属性数据的更新信息包括用户操控虚拟游戏,或者游戏策略控制虚拟游戏生成的变量数据;
解析模块,用于解析所述UI控件对应属性数据的更新信息,并与游戏UI控件配置接口中设置的需要更新的游戏UI控件信息相匹配;
更新模块,用于依据匹配的UI控件对应属性数据,执行对应的UI控件的更新操作。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至9任一项中所述的方法。
CN202010589277.8A 2020-06-24 2020-06-24 游戏中ui控件进行更新的方法及装置 Active CN111708563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010589277.8A CN111708563B (zh) 2020-06-24 2020-06-24 游戏中ui控件进行更新的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010589277.8A CN111708563B (zh) 2020-06-24 2020-06-24 游戏中ui控件进行更新的方法及装置

Publications (2)

Publication Number Publication Date
CN111708563A CN111708563A (zh) 2020-09-25
CN111708563B true CN111708563B (zh) 2023-11-17

Family

ID=72543461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010589277.8A Active CN111708563B (zh) 2020-06-24 2020-06-24 游戏中ui控件进行更新的方法及装置

Country Status (1)

Country Link
CN (1) CN111708563B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035188A (zh) * 2020-09-28 2020-12-04 中移(杭州)信息技术有限公司 控件生成方法、装置、网络设备及存储介质
CN113204362A (zh) * 2021-05-21 2021-08-03 珠海金山网络游戏科技有限公司 更新方法及装置
CN114168119B (zh) * 2021-12-07 2024-04-05 北京百度网讯科技有限公司 代码文件编辑方法、装置、电子设备以及存储介质
CN117032757A (zh) * 2023-08-21 2023-11-10 镁佳(北京)科技有限公司 控件更新维护方法、系统、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944027A (zh) * 2010-09-26 2011-01-12 北京神州泰岳软件股份有限公司 一种用户界面生成方法
CN104899040A (zh) * 2015-06-12 2015-09-09 安徽游艺道网络科技有限公司 一种游戏后台程序生成系统及生成方法
CN111124371A (zh) * 2019-12-25 2020-05-08 上海米哈游天命科技有限公司 一种基于游戏的数据处理方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944027A (zh) * 2010-09-26 2011-01-12 北京神州泰岳软件股份有限公司 一种用户界面生成方法
CN104899040A (zh) * 2015-06-12 2015-09-09 安徽游艺道网络科技有限公司 一种游戏后台程序生成系统及生成方法
CN111124371A (zh) * 2019-12-25 2020-05-08 上海米哈游天命科技有限公司 一种基于游戏的数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111708563A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN111708563B (zh) 游戏中ui控件进行更新的方法及装置
US11003422B2 (en) Methods and systems for visual programming using polymorphic, dynamic multi-dimensional structures
CN105739983B (zh) 脚本程序编辑装置及其实现方法
CN106293761B (zh) 用于生成游戏编辑器和插件的方法及装置
CN112669194B (zh) 虚拟场景中的动画处理方法、装置、设备及存储介质
CN116088882B (zh) 一种基于智能穿戴设备的功能配置方法、系统及介质
CN114661284A (zh) 游戏编辑方法、游戏运行方法、装置及计算机设备
CN109634610B (zh) 一种界面标注数据的生成方法及装置
CN109739471A (zh) 基于互联网b/s结构的计算机网络游戏开发系统及方法
CN113470151B (zh) 一种动画状态机的实现方法和装置
CN112783660B (zh) 虚拟场景中的资源处理方法、装置及电子设备
CN114741071A (zh) 一种应用构建方法及装置
CN112131112B (zh) 操作信息的获取方法和装置、存储介质及电子设备
CN111167119B (zh) 一种游戏开发展示方法、装置、设备及存储介质
CN113742804B (zh) 家具布局图生成方法、装置、设备及存储介质
CN113687815B (zh) 容器内多组件动效处理方法及装置、电子设备、存储介质
CN111388995B (zh) 游戏人工智能信息的处理方法、系统、装置和存储介质
CN111260768B (zh) 图片处理方法和装置、存储介质及电子装置
CN113239172A (zh) 机器人群组中的会话交互方法、装置、设备及存储介质
CN112650486A (zh) 数据可视化处理方法及装置
CN112755534A (zh) 一种数据处理方法、装置和存储介质
JP2010204840A (ja) ユーザインターフェース操作統合システムのカスタマイズ方法及び端末装置並びにコンピュータプログラム及び情報記録媒体
KR20090099896A (ko) 3d캐릭터 생성 장치 및 그 방법과 이를 이용한 3d 캐릭터비즈니스 방법
CN113838171B (zh) 数据处理方法、装置、存储介质和电子装置
CN101141664B (zh) 发送软件机器人消息的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant