CN111001157A - 引用信息的生成方法和装置、存储介质及电子装置 - Google Patents
引用信息的生成方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN111001157A CN111001157A CN201911204506.3A CN201911204506A CN111001157A CN 111001157 A CN111001157 A CN 111001157A CN 201911204506 A CN201911204506 A CN 201911204506A CN 111001157 A CN111001157 A CN 111001157A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- information
- group
- reference information
- 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.)
- Granted
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种引用信息的生成方法和装置、存储介质及电子装置。其中,包括:获取与目标界面相关的第一节点集合的节点信息,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合;根据第二节点集合的节点描述信息生成引用信息集合,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种引用信息的生成方法和装置、存储介质及电子装置。
背景技术
用户界面是游戏中重要的组成部分,一般的游戏都包含大量游戏界面。界面是一个复杂的树形结构,根节点下可能有很多子节点,并且树的深度也常常很深。
在游戏中,为了给界面赋予功能,需要界面能够方便地访问,以控制界面内的任意节点,或给某个按钮赋予被点击时的功能,或根据条件改变某个文本的显示内容。
由于游戏性能至关重要,如果频繁地从界面的根节点逐深度往下搜寻目标节点会耗费太多性能,通常会采用某种方法一次性将用户感兴趣的节点找出,将其引用缓存下来。之后访问目标节点时直接通过引用访问而不用再次从根节点开始搜索。
因此,对于程序员来说,必须采用某种方式记录下感兴趣的节点在界面中的位置,类型等信息,供上述过程使用。通常一个界面中用户感兴趣的节点有很多,通过程序员手动书写大量文字信息,费时费力。
因此,相关技术中,在缓存感兴趣节点引用中,存在效率低的问题。
发明内容
本发明实施例提供了一种引用信息的生成方法和装置、存储介质及电子装置,以至少解决相关技术中,在缓存感兴趣节点引用中,存在效率低的技术问题。
根据本发明实施例的一个方面,提供了一种引用信息的生成方法,包括:获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
根据本发明实施例的另一方面,还提供了一种引用信息的生成装置,包括:获取单元,用于获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;第一生成单元,用于根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;第二生成单元,用于根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述引用信息的生成方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的引用信息的生成方法。
在本发明实施例中,首先,获取与目标界面相关的第一节点集合的节点信息,其中该节点信息包括节点名称,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点的节点关系为目标界面包括的元素之间的树状关系,然后根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,第二节点集合是对第一节点集合去重之后所得到的节点集合,最后根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息指向目标集合中对应的一个元素,目标元素集合包括第二节点集合中每个节点所表示的元素。达到了自动生成引用信息集合的目的,从而实现了在获取到目标界面相关的第一节点集合,对第一节点集合去重,然后根据第一节点集合的节点信息和节点关系生成第二节点信息集合的节点描述信息,最后根据第二节点信息集合的节点描述信息生成引用信息集合的技术效果,进而解决了相关技术中,在缓存感兴趣节点引用中,存在效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种引用信息的生成方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的引用信息的生成方法的流程示意图;
图3是根据本发明实施例的一种可选的节点关系的示意图;
图4是根据本发明实施例的另一种可选的引用信息的生成方法的流程示意图;
图5是根据本发明实施例的一种可选的单节点生成的示意图;
图6是根据本发明实施例的一种可选的Unity引擎中的界面的示意图;
图7是根据本发明实施例的一种可选的脚本A和脚本B的逻辑关系的示意图;
图8是根据本发明实施例的一种可选的引用信息的生成装置的结构示意图;
图9是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例中涉及到的技术术语包括:
(1)图形用户界面(Graphical User Interface,简称GUI):是指采用图形方式显示的计算机操作界面。允许用户通过鼠标等输入设备,操作屏幕上的图标或菜单选项,以执行选择命令,调用文件等操作。在游戏中,图形操作界面是玩家与游戏交互的重要媒介,玩家的很多操作必须通过图形用户界面进行。在此上下文中,图形用户界面可简称用户界面,或UI。
(2)树:在计算机科学中,树是一种抽象的数据结构,由一些节点和边构成,边表达了节点之间的关系。树必须满足,任意两个节点之间,只有一条由边构成的通路。比如,一般计算机操作***中的文件夹和文件的层级关系就构成一棵树。给树的边定义方向概念之后,可以找到唯一一个没有前驱的节点,该节点称为该树的“根”。例如,文件夹***中最外层的一个文件夹就是它们的根。游戏的UI也是树形结构,一个UI包含若干子节点,每个子节点又可以包含0或若干个子节点,如此往复。
(3)深度:从根开始计算,每经过一条边计数加1,到达一个节点时的计数定义为该节点的深度。深度最大的节点的深度定义为该树的深度。
(4)性能:同其他软件一样,游戏需要运行在个人电脑(PC),智能手机等硬件设备上。在同一目标硬件上,软件做同一件事,消耗的时间,硬件的运算资源越少,则性能越强。
(5)引用:计算机编程语言中的概念。引用以某种方式指向目标资源。通常引用占用的空间比它指向的资源要小。保存一个引用的代价很小,却能方便地再次访问目标资源。
(6)游戏引擎:提供一系列可视化开发工具和可重用组件,并通过与开发环境进行集成,使开发者能够方便简单、快速进行游戏开发的工具或平台。
(7)Unity:一款著名的商用游戏引擎。
(8)脚本:在本发明实施例中,脚本可理解为游戏逻辑的载体。附加在界面上的脚本,可以搜索访问并操作界面元素,完成游戏逻辑。
根据本发明实施例的一个方面,提供了一种引用信息的生成方法。可选地,上述引用信息的生成方法可以但不限于应用于如图1所示的应用环境中。如图1所示,终端设备102上运行有与目标界面相关的客户端(例如,Android、iOS或Web)。通过该客户端,可以获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称,并通过网络将第一节点集合的节点信息发送至服务器104。服务器104可以是客户端的后台服务器。服务器104响应根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。以上仅为一种示例,本申请实施例在此不作限定。
在终端设备102中,获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
可选地,在本实施例中,上述终端设备可以是配置有客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群。上述只是一种示例,本实施例对此不做任何限定。
可选地,在本实施例中,作为一种可选的实施方式,该方法可以由服务器执行,也可以由终端设备执行,或者由服务器和终端设备共同执行,本实施例中,以由终端设备(例如,上述终端设备102)执行为例进行说明。如图2所示,上述引用信息的生成方法的流程可以包括步骤:
步骤S202,获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;
步骤S204,根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;
步骤S206,根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
可选地,上述引用信息的生成方法可以但不限于使用客户端进行虚拟游戏的场景中。
通过本实施例,首先,获取与目标界面相关的第一节点集合的节点信息,其中该节点信息包括节点名称,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点的节点关系为目标界面包括的元素之间的树状关系,然后根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,第二节点集合是对第一节点集合去重之后所得到的节点集合,最后根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息指向目标集合中对应的一个元素,目标元素集合包括第二节点集合中每个节点所表示的元素。达到了自动生成引用信息集合的目的,从而实现了在获取到目标界面相关的第一节点集合,对第一节点集合去重,然后根据第一节点集合的节点信息和节点关系生成第二节点信息集合的节点描述信息,最后根据第二节点信息集合的节点描述信息生成引用信息集合的技术效果,进而解决了相关技术中,在缓存感兴趣节点引用中,存在效率低的技术问题。
下面结合图2对本实施例中上述引用信息的生成方法进行说明。
在步骤S202中,获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称。
可选地,上述目标界面可以理解为一种图形用户界面(GUI),在游戏场景中,该目标界面是玩家与游戏交互的重要媒介。节点可以理解为界面上所包含的元素,如可以包括至少包括以下之一:可以显示的元素、不可以不显示的元素、可交互的元素、不可交互的元素等,并且不同的节点可以表示相同的元素。节点信息包括节点名称。
上述目标界面中包括一个或多个节点,可以获取与该目标界面相关的第一节点集合的节点信息,该第一节点集合中每个节点表示的是目标界面中包括的一个元素,并且第一节点集合中的节点与呈树状关系的元素一一对应。可理解,上述仅为一种示例,本申请实施例在此不作限定。
如图3所示,为R、O、J、K、P之间的树状关系图,其中R、O、J、K、P表示目标界面中的节点。
可选地,在本实施例中,获取与目标界面相关的第一节点集合的节点信息,可以包括:获取与目标界面相关的第三节点集合的节点信息,其中,第三节点集合中的节点表示的元素包括目标界面包括的所有元素,第一节点集合为第三节点集合;或者获取与目标界面相关的第四节点集合的节点信息,其中,第四节点集合中的节点表示的元素包括目标界面包括的部分元素,第一节点集合为第四节点集合,部分元素的个数大于1;或者获取与目标界面相关的第五节点集合的节点信息,其中,第五节点集合仅包括一个节点,一个节点表示目标界面包括的一个元素,第一节点集合为第五节点集合。
可选地,可以获取目标界面包括的所有元素,得到第三节点集合的节点信息,此时上述第一节点集合为该第三节点集合,此时,用户感兴趣的元素为目标界面中的所有元素;
或者,获取目标界面包括的部分元素,得到第四节点集合的节点信息,此时上述第一节点集合为该第四节点集合,此时,用户感兴趣的元素为目标界面中的部分元素;
或者,获取目标界面包括的一个元素,得到第五节点集合的节点信息,此时上述第一节点集合为该第五节点集合,此时,用户感兴趣的元素为目标界面中的其中一个元素。
通过本实施例,可以通过目标界面获取到用户感兴趣的元素,得到相应的节点集合,为后续为用户感兴趣的元素生成引用信息奠定了基础,提高了在缓存感兴趣节点引用中的效率。
在步骤S204中,根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称。
可选地,在得到上述第一节点之后,对第一节点集合中的节点进行去重操作,然后根据第一节点集合的节点信息和节点关系可以得到第二节点集合,并且节点描述信息可以包括节点名称。
可选地,在本实施例中,节点信息和节点描述信息均包括节点类型。
上述节点信息与上述节点描述信息还可以包括节点类型。
通过本实施例,在节点信息与节点描述信息包括节点名称和节点类型的情况下,可以更加准确的确定节点信息与节点描述信息,提高了确定用户感兴趣的节点的准确率。
可选地,在本实施例中,根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,可以包括:获取第二节点集合中的每个节点在第一节点集合中出现的次数;在第二节点集合包括第一组节点的情况下,将第一组节点的节点描述信息设置为包括第一组节点中每个节点的节点名称,其中,第一组节点中的每个节点在第一节点集合中出现的次数为1;在第二节点集合包括第二组节点的情况下,确定第二组节点中每个节点在节点关系中的查询路径,并将第二组节点的节点描述信息设置为包括第二组节点中每个节点的节点名称和查询路径,其中,第二组节点中的每个节点在第一节点集合中出现的次数大于1。
可选地,对于第二节点集合中的每个节点,可能在第一节点集合中出现1次,也可能在第一节点集合中出现大于1次,首先获取第二节点集合中的每个节点在第一节点集合中出现的次数,并将在第一节点集合中出现次数为1次的节点确定为第一组节点(第二节点集合包括第一组节点),其中,第一组节点的节点描述信息可以设置为包括第一组节点中每个节点的节点名称。
将在第一节点集合中出现次数大于1次的节点确定为第二组节点(第二节点集合包括第二组节点),然后确定第二组节点在节点关系中的查询路径,其中,第二组节点的节点描述信息可以设置为包括第二组节点中每个节点的节点名称和第二组节点在节点关系中的查询路径。
例如,如图3所示,以节点P为例,节点P出现次数为2,节点P的查询路径可以为R->O->P,以及R->J->P。在确定P节点的查询路径时,可以从P节点开始,向上找到P节点的根节点,或者还可以先找到根节点,使用全量的方法对整个树便历,从而确定P节点的查询路径。
通过本实施例,将在第一节点集合中出现1次的节点的节点描述信息以节点名称进行设置,将在第一节点集合中出现大于1次的节点的节点描述信息以节点名称和查询路径进行设置,不仅可以准确的记录节点的节点描述信息,并且对于只出现1次的节点还能够节省文本信息空间,提高了后续确定用户感兴趣的节点的引用信息的效率。
可选地,在本实施例中,确定第二组节点中每个节点在节点关系中的查询路径,可以包括:将第二组节点中每个节点到节点关系中的根节点之间的路径确定为查询路径。
可选地,上述第二组节点中每个节点在节点关系中的查询路径可以理解为第二组节点中每个节点到节点关系中的根节点之间的路径。
例如,如图3所示,以节点P为例,节点P的查询路径可以为R->O->P,以及R->J->P,或者P->O->R,以及P->J->R。在确定P节点的查询路径时,可以从P节点开始,向上找到P节点的根节点,或者还可以先找到根节点,使用全量的方法对整个树便历,从而确定P节点的查询路径。
可理解,以上仅为一种示例,本实施例在此不作任何限定。
通过本实施例,可以通过查询路径准确的对第二组节点中每个节点的节点描述信息进行设置,提高了设置节点描述信息的准确度。
在步骤S206中,根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
可选地,在上述步骤S204之后,可以根据第二节点集合的节点描述信息生成引用信息集合,该引用信息集合中的引用信息与目标元素集合中的元素一一对应,并且该引用信息集合中每个引用信息都与目标元素集合中的一个元素对应,目标元素集合中包括第二节点集合中每个节点所表示的元素。
上述目标元素集合可以理解为用户感兴趣的节点,通过上述引用信息集合可以方便的访问目标元素集合中的元素。
可选地,在本实施例中,根据第二节点集合的节点描述信息生成引用信息集合,可以包括:在第二节点集合包括第一组节点的情况下,并行地根据第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,其中,第一组节点中的每个节点在第一节点集合中出现的次数为1,引用信息集合包括第一引用信息集合,第一组节点中每个节点的节点描述信息包括第一组节点中每个节点的节点名称。
可选地,对于如何根据第二节点集合的节点描述信息生成引用信息集合,可以通过以下方式实现,如果第二节点信息集合包括了第一组节点(第一组节点中的每个节点在第一节点集合中出现次数为1),则并行地根据第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,且第一引用信息集合中每个节点的节点描述信息包括第一组节点中每个节点的节点名称,可理解,引用信息集合包括第一引用信息集合。
通过本实施例,在第二节点集合包括第一组节点的情况下,可以并行地自动生成对应的第一引用信息集合,避免了程序员手动的书写大量文字信息,节省了时间,提高了生成引用信息集合的效率。
可选地,在本实施例中,并行地根据第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,可以包括:并行地对第一组节点中每个节点的节点描述信息执行以下操作,其中,在执行以下操作时第一组节点中的每个节点被视为当前节点:在目标界面包括的元素中查找与当前节点的节点描述信息中包括的节点名称匹配的当前元素;将当前节点的节点描述信息中包括的节点名称生成为当前引用信息,其中,当前引用信息用于指向当前元素,第一引用信息集合包括当前引用信息。。
可选地,对于如何并行地根据第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,可以通过以下方式实现,在执行以下操作时第一组节点中的每个节点被视为当前节点,首先,在目标界面中所包括的元素中,并行地查找与当前节点的节点描述信息的节点名称相匹配的当前元素,然后将当前节点的节点名称生成当前引用信息,当前引用信息可以指向当前元素,其中,第一引用信息集合包括了当前引用信息。
以上仅为一种示例,在此不作任何限定。
通过本实施例,可以并行地生成当前引用信息,避免了程序员手动的书写大量文字信息,节省了时间,提高了生成引用信息集合的效率。
可选地,在本实施例中,根据第二节点集合的节点描述信息生成引用信息集合,可以包括:在第二节点集合包括第二组节点的情况下,分别根据第二组节点中每个节点的节点描述信息生成对应的第二引用信息集合,其中,第二组节点中的每个节点在第一节点集合中出现的次数大于1,引用信息集合包括第二引用信息集合,第二组节点中每个节点的节点描述信息包括第二组节点中每个节点的节点名称和每个节点在节点关系中的查询路径。
可选地,对于如何根据第二节点集合的节点描述信息生成引用信息集合,还可以通过以下方式实现,如果第二节点信息集合包括了第二组节点(第二组节点中的每个节点在第一节点集合中出现次数大于1),则分别根据第二组节点中每个节点的节点描述信息生成对应的第二引用信息集合,且第二引用信息集合中每个节点的节点描述信息包括第二组节点中每个节点的节点名称和每个节点在节点关系中的查询路径,可理解,引用信息集合包括第二引用信息集合。
由于第二组节点中的每个节点在第一节点集合中出现次数大于1,通过分别生成第二组节点中每个节点的引用信息的方式,可以减少生成引用信息集合的出错率。
通过本实施例,在第二节点集合包括第二组节点的情况下,可以分别地自动生成对应的第二引用信息集合,不仅避免了程序员手动的书写大量文字信息,节省了时间,而且降低了根据第二组节点生成第二引用信息集合的出错率,提高了生成引用信息集合的效率。
可选地,在本实施例中,分别根据第二组节点中每个节点的节点描述信息生成对应的第二引用信息集合,可以包括:对第二组节点中每个节点的节点描述信息执行以下操作,其中,在执行以下操作时第二组节点中的每个节点被视为当前节点:在目标界面包括的元素中查找目标查询路径上与目标节点名称匹配的当前元素,其中,目标查询路径为当前节点的节点描述信息中包括的查询路径,目标节点名称为当前节点的节点描述信息中包括的节点名称;将当前节点的节点描述信息中包括的节点名称生成为当前引用信息,其中,当前引用信息用于指向当前元素,第二引用信息集合包括当前引用信息。
可选地,对于如何分别根据第二组节点中每个节点的节点描述信息生成对应的第二引用信息集合,可以通过以下方式实现,在执行以下操作时第二组节点中的每个节点被视为当前节点,首先,在目标界面中所包括的元素中,通过当前节点的节点描述信息中的目标查询路径查找目标查询路径上与目标节点名称相匹配的当前元素,然后将当前节点的节点名称生成当前引用信息,当前引用信息可以指向当前元素,其中,第二引用信息集合包括了当前引用信息。
通过查找查询路径的方式,生成第二组节点中每个节点的引用信息,可以减少生成引用信息集合的出错率。
通过本实施例,在第二节点集合包括第二组节点的情况下,可以分别地自动生成对应的第二引用信息集合,不仅避免了程序员手动的书写大量文字信息,节省了时间,而且降低了根据第二组节点生成第二引用信息集合的出错率,提高了生成引用信息集合的效率。
需要说明的是,以Unity中的界面为例,一种方法是:建立一个脚本,附加于界面的根节点之上,脚本为感兴趣的所有节点声明一个变量。这个变量或为公开的,或为私有的,可以标记为可序列化的,使得在Unity编辑器中可以看到这些变量。程序员在Unity编辑器中,通过拖拽(drag-and-drop)的方式,一一对应地把感兴趣的节点拖拽赋值给变量。当保存该界面时,附加于界面的脚本能够将赋值了的变量一并保存下来。
在使用界面时,访问脚本的变量就可以访问到感兴趣的节点。通过这种方式,虽然避免了大量的书写工作,但存在拖拽的工作量大的问题,效率较低。
为了解决上述问题,下面结合可选示例对引用信息的生成方法的流程进行说明,如图4所示,该方法包括以下步骤:
步骤S402,获取界面源信息。
需要说明的是,根据游戏引擎的不同,界面的表示方式会有所不同,但包含的信息量通常是没有区别的。以Unity为例,将界面保存于文件中时,Unity采用基于yaml格式的文本文件构建的prefab格式。
当界面在Unity运行期间,如编辑器编辑期间,或游戏运行时。界面通过某种方式存在于内存上。在Unity提供的抽象中,可以用包含子节点的GameObject来表示。
无论界面采取什么形式的表示,只要表示的方式是已知的,就可以得到界面源信息。例如,可以实现一个解析器(parser)从prefab文本文件中读取整个界面的层级关系;在编辑器中,可以编写Unity的插件,获取界面的层级关系。在本实施例中还可以通过Unity的插件,直接从界面的GameObject表示中获取界面源信息。其中,界面可以对应于上述目标界面,界面源信息可以对应于上述第一节点集合的节点信息。
可选地,在Unity中,获取界面源信息可以有两个来源:一是界面保存的文件,二是界面在编辑器中的内存表示。
其中,使用第一种来源时,不论将工具做成独立于Unity引擎的第三方工具,或是作为Unity的一个插件,都是可行的;使用第二种来源时,只可能将工具实现成为插件。
使用第一种来源时,需要进行复杂的文本解析,在没有合适的库的时候,需要编写大量代码来实现;而作为插件使用第二种来源时,Unity自带的功能已经能满足需求,几乎不需要任何形式的转换。
在本实施例中,可以选择第二种来源,将工具实现成为一个插件,来读取输入界面的内容。
步骤S404,将界面源信息转换为中间表示。
获取界面源信息后,可以对界面源信息进行各种操作,将界面源信息转换为中间表示(作用同上述第二节点集合)。中间表示可以去掉界面源信息中无用的信息,也可增加对于生成目标输出有用的其他信息。例如,可以忽略界面源信息中节点的坐标位置等信息。
中间表示的目标是简单但能满足功能需求。
一般来说,中间表示可以是一棵简化了的树,其结构与源界面相同,但是删除了无用的信息。通过这种表示方法在生成中间表示的树,以及从中间表示生成目标输出时,一共需要对树进行两次遍历。
其中,中间表示包含以下信息,一个键值存储,用于保存节点名称的重复次数;一个栈,栈中保存有深度信息的节点,以及生成中的输出文本。
步骤S406,生成目标输出。
在本实施例中,可以适应相应项目的搜索缓存逻辑,将目标输出为对应该项目的特定格式的文本描述信息。
输出文本的格式可以按照以下格式输出:
{name=”GiftPane1”,
type=”MVCView”,
},
{name=”MessageArea”,
type=”GameObject”,
},
},
{name=”SendBtn”,
type=”CommonUIButton”,
},
{name=”AUTONAME_MessageAreaSendBtnRedPoint”,
type=”UIRedPoint”,
stack=”MessageArea/SendBtn/RedPoint”
}
也就是说,输出文本的格式可以为包括节点名称和节点类型,和/或,包括节点名称、节点类型和查询路径(节点与节点之间的关系)。
需要说明的是,在使用Unity的提供接口可以得到界面的所有子节点(节点名称name,节点类型type,节点与节点之间的关系),根据这些信息生成子节点名称重复次数。对于节点名称不重复的节点,在生成输出文本时不需要给出节点的完整路径,对于节点名称重复的节点,在生成输出文本时需要给出节点的完整路径。
然后使用一个栈(stack),对界面进行遍历。对被遍历的每个节点,根据其当前节点的节点名称,以及节点名称的重复次数,生成当前节点的目标文本,并连接到最终的输出文本中。
步骤S408,程序员通过人为修改的方式删除用户不感兴趣的节点。
程序员通过人为修改的方式删除用户不感兴趣的节点,还可以为节点更换名称等。
下面结合可选示例对引用信息的生成方法的应用环境进行说明:
以Unity引擎中的界面为例,一个游戏中的用户界面如图6所示。界面为树形结构,根节点下包含了多个子节点,每个子节点又可包含其子节点。其中,图6中的各个英文名称为各个节点的节点名称。
如图7所示,用户界面根节点可以附加在一个固定脚本A,该脚本依赖于另一脚本B。脚本A实现游戏界面的各种通用逻辑,包括根据脚本B提供的感兴趣的节点的信息,在进行搜索并缓存节点引用的工作时,通过脚本B可方便地访问这些节点,实施实际的游戏界面逻辑。
B脚本中包含了节点文本信息(若干必要信息):
如节点名称或查询路径,用于给A脚本搜索时定位并唯一选中节点。
如节点的命名。B脚本实际使用时,通过节点命名访问节点的引用。
节点文本信息还可附加其他有用信息。例如,附加节点的节点类型,可让B脚本知晓节点的节点类型,方便实现具体功能。其中,节点文本信息作用同上述输出文本信息,以及作用同上述节点描述信息。
节点文本信息可以直接在编辑器界面操作,或者,程序员还可以进行少量的文本编辑工作。
本实施例中有两种模式,一种为全量模式,一种为单子节点模式。全量模式适合新做界面时使用,单子节点模式适合修改界面时使用。
全量模式下,在编辑器中,选中目标用户界面,使用本实施例中实现的插件,可一键生成所有子节点的文本信息,并自动复制到剪贴板。程序员可直接在B脚本中粘贴文本,修改后使用。
单子节点模式下,编辑器选中任意子节点,通过菜单调用插件功能,即可生成该子节点的文本信息并复制到剪贴板。程序员在B脚本中粘贴文本即可。
需要说明的是,单节点模式的入口是某个目标节点。首先从该节点开始,向上找到其根节点。找到根节点的方式视具体项目而定。界面根节点必然包含A脚本,可以向上寻找到第一个含有A脚本的节点即可。并在上述过程中记录下每个经过的节点名称,则可获得目标节点的完整路径。
在需要判定节点名称的重复次数时,也可先找到根节点,使用全量的方法对整个树便历,生成节点名称重复次数表。以此确定目标节点名称是否与其他节点重复。
在Unity中,目标节点作为GameObject,可以附加若干个Component,实际感兴趣的可以为其中1个或多个或全部Component。
界面中每个节点都会包含一些公共的Component,例如Transform。本实施例中,可以建立全局的Component黑名单,将大部分时候不感兴趣的Component记录在其中。遍历节点时,优先寻找黑名单外的Component作为默认的输出类型。当找不到的时候,则输出GameObject作为保底类型。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的又一方面,还提供了一种引用信息的生成装置,如图8所示,该装置包括:
(1)获取单元802,用于获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;
(2)第一生成单元804,用于根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;
(3)第二生成单元806,用于根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
可选地,获取单元802可以用于执行步骤S202,第一生成单元804可以用于执行步骤S204,第二生成单元806可以用于执行步骤S206。
通过本实施例,首先,获取与目标界面相关的第一节点集合的节点信息,其中该节点信息包括节点名称,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点的节点关系为目标界面包括的元素之间的树状关系,然后根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,第二节点集合是对第一节点集合去重之后所得到的节点集合,最后根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息指向目标集合中对应的一个元素,目标元素集合包括第二节点集合中每个节点所表示的元素。达到了自动生成引用信息集合的目的,从而实现了在获取到目标界面相关的第一节点集合,对第一节点集合去重,然后根据第一节点集合的节点信息和节点关系生成第二节点信息集合的节点描述信息,最后根据第二节点信息集合的节点描述信息生成引用信息集合的技术效果,进而解决了相关技术中,在缓存感兴趣节点引用中,存在效率低的技术问题。
作为一种可选的技术方案,上述第一生成单元,包括:
(1)第一获取模块,用于获取第二节点集合中的每个节点在第一节点集合中出现的次数;
(2)设置模块,用于在第二节点集合包括第一组节点的情况下,将第一组节点的节点描述信息设置为包括第一组节点中每个节点的节点名称,其中,第一组节点中的每个节点在第一节点集合中出现的次数为1;
(3)第一确定模块,用于在第二节点集合包括第二组节点的情况下,确定第二组节点中每个节点在节点关系中的查询路径,并将第二组节点的节点描述信息设置为包括第二组节点中每个节点的节点名称和查询路径,其中,第一组节点中的每个节点在第一节点集合中出现的次数大于1。
作为一种可选的技术方案,上述第一确定模块,还用于将第二组节点中每个节点到节点关系中的根节点之间的路径确定为查询路径。。
作为一种可选的技术方案,上述第二生成单元,包括:
(1)第一生成模块,用于在第二节点集合包括第一组节点的情况下,并行地根据第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,其中,第一组节点中的每个节点在第一节点集合中出现的次数为1,引用信息集合包括第一引用信息集合,第一组节点中每个节点的节点描述信息包括第一组节点中每个节点的节点名称。
作为一种可选的技术方案,上述述第一生成模块,还用于并行地对第一组节点中每个节点的节点描述信息执行以下操作,其中,在执行以下操作时第一组节点中的每个节点被视为当前节点:在目标界面包括的元素中查找与当前节点的节点描述信息中包括的节点名称匹配的当前元素;将当前节点的节点描述信息中包括的节点名称生成为当前引用信息,其中,当前引用信息用于指向当前元素,第一引用信息集合包括当前引用信息。
作为一种可选的技术方案,上述第二生成单元,包括:
(1)第二生成模块,用于在第二节点集合包括第二组节点的情况下,分别根据第二组节点中每个节点的节点描述信息生成对应的第二引用信息集合,其中,第二组节点中的每个节点在第一节点集合中出现的次数大于1,引用信息集合包括第二引用信息集合,第二组节点中每个节点的节点描述信息包括第二组节点中每个节点的节点名称和每个节点在节点关系中的查询路径。
作为一种可选的技术方案,上述第二生成模块,还用于对第二组节点中每个节点的节点描述信息执行以下操作,其中,在执行以下操作时第二组节点中的每个节点被视为当前节点:在目标界面包括的元素中查找目标查询路径上与目标节点名称匹配的当前元素,其中,目标查询路径为当前节点的节点描述信息中包括的查询路径,目标节点名称为当前节点的节点描述信息中包括的节点名称;将当前节点的节点描述信息中包括的节点名称生成为当前引用信息,其中,当前引用信息用于指向当前元素,第二引用信息集合包括当前引用信息。
作为一种可选的技术方案,上述获取单元,包括:
(1)第二获取模块,用于获取与目标界面相关的第三节点集合的节点信息,其中,第三节点集合中的节点表示的元素包括目标界面包括的所有元素,第一节点集合为第三节点集合;或者
(2)第三获取模块,用于获取与目标界面相关的第四节点集合的节点信息,其中,第四节点集合中的节点表示的元素包括目标界面包括的部分元素,第一节点集合为第四节点集合,部分元素的个数大于1;或者
(3)第四获取模块,用于获取与目标界面相关的第五节点集合的节点信息,其中,第五节点集合仅包括一个节点,一个节点表示目标界面包括的一个元素,第一节点集合为第五节点集合。
作为一种可选的技术方案,节点信息和节点描述信息均包括节点类型。
根据本发明的实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;
S2,根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;
S3,根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取器)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述引用信息的生成方法的电子装置,如图9所示,该电子装置包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取与目标界面相关的第一节点集合的节点信息,其中,第一节点集合中的每个节点表示目标界面包括的一个元素,第一节点集合中的节点之间的节点关系为目标界面包括的元素之间的树状关系,节点信息包括节点名称;
S2,根据第一节点集合的节点信息和节点关系,生成第二节点集合的节点描述信息,其中,第二节点集合是对第一节点集合中的节点进行去重得到的节点集合,节点描述信息至少包括节点名称;
S3,根据第二节点集合的节点描述信息生成引用信息集合,其中,引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个引用信息用于指向目标元素集合中对应的一个元素,目标元素集合包括第二节点集合中的每个节点所表示的元素。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的引用信息的生成方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的引用信息的生成方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述引用信息的生成装置中的获取单元802、第一生成单元804、第二生成单元806。此外,还可以包括但不限于上述引用信息的生成装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器908;和连接总线910,用于连接上述电子装置中的各个模块部件。
在其他实施例中,上述终端或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种引用信息的生成方法,其特征在于,包括:
获取与目标界面相关的第一节点集合的节点信息,其中,所述第一节点集合中的每个节点表示所述目标界面包括的一个元素,所述第一节点集合中的节点之间的节点关系为所述目标界面包括的元素之间的树状关系,所述节点信息包括节点名称;
根据所述第一节点集合的节点信息和所述节点关系,生成第二节点集合的节点描述信息,其中,所述第二节点集合是对所述第一节点集合中的节点进行去重得到的节点集合,所述节点描述信息至少包括节点名称;
根据所述第二节点集合的节点描述信息生成引用信息集合,其中,所述引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个所述引用信息用于指向所述目标元素集合中对应的一个元素,所述目标元素集合包括所述第二节点集合中的每个节点所表示的元素。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一节点集合的节点信息和所述节点关系,生成第二节点集合的节点描述信息,包括:
获取所述第二节点集合中的每个节点在所述第一节点集合中出现的次数;
在所述第二节点集合包括第一组节点的情况下,将所述第一组节点的节点描述信息设置为包括所述第一组节点中每个节点的节点名称,其中,所述第一组节点中的每个节点在所述第一节点集合中出现的次数为1;
在所述第二节点集合包括第二组节点的情况下,确定所述第二组节点中每个节点在所述节点关系中的查询路径,并将所述第二组节点的节点描述信息设置为包括所述第二组节点中每个节点的节点名称和所述查询路径,其中,所述第二组节点中的每个节点在所述第一节点集合中出现的次数大于1。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第二组节点中每个节点在所述节点关系中的查询路径,包括:
将所述第二组节点中每个节点到所述节点关系中的根节点之间的路径确定为所述查询路径。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二节点集合的节点描述信息生成引用信息集合,包括:
在所述第二节点集合包括第一组节点的情况下,并行地根据所述第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,其中,所述第一组节点中的每个节点在所述第一节点集合中出现的次数为1,所述引用信息集合包括所述第一引用信息集合,所述第一组节点中每个节点的节点描述信息包括所述第一组节点中每个节点的节点名称。
5.根据权利要求4所述的方法,其特征在于,所述并行地根据所述第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,包括:
并行地对所述第一组节点中每个节点的节点描述信息执行以下操作,其中,在执行以下操作时所述第一组节点中的每个节点被视为当前节点:
在所述目标界面包括的元素中查找与所述当前节点的节点描述信息中包括的节点名称匹配的当前元素;
将所述当前节点的节点描述信息中包括的节点名称生成为当前引用信息,其中,所述当前引用信息用于指向所述当前元素,所述第一引用信息集合包括所述当前引用信息。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二节点集合的节点描述信息生成引用信息集合,包括:
在所述第二节点集合包括第二组节点的情况下,分别根据所述第二组节点中每个节点的节点描述信息生成对应的第二引用信息集合,其中,所述第二组节点中的每个节点在所述第一节点集合中出现的次数大于1,所述引用信息集合包括所述第二引用信息集合,所述第二组节点中每个节点的节点描述信息包括所述第二组节点中每个节点的节点名称和每个节点在所述节点关系中的查询路径。
7.根据权利要求6所述的方法,其特征在于,所述分别根据所述第二组节点中每个节点的节点描述信息生成对应的第二引用信息集合,包括:
对所述第二组节点中每个节点的节点描述信息执行以下操作,其中,在执行以下操作时所述第二组节点中的每个节点被视为当前节点:
在所述目标界面包括的元素中查找目标查询路径上与目标节点名称匹配的当前元素,其中,所述目标查询路径为所述当前节点的节点描述信息中包括的查询路径,所述目标节点名称为所述当前节点的节点描述信息中包括的节点名称;
将所述当前节点的节点描述信息中包括的节点名称生成为当前引用信息,其中,所述当前引用信息用于指向所述当前元素,所述第二引用信息集合包括所述当前引用信息。
8.根据权利要求1所述的方法,其特征在于,所述获取与目标界面相关的第一节点集合的节点信息,包括:
获取与所述目标界面相关的第三节点集合的节点信息,其中,所述第三节点集合中的节点表示的元素包括所述目标界面包括的所有元素,所述第一节点集合为所述第三节点集合;或者
获取与所述目标界面相关的第四节点集合的节点信息,其中,所述第四节点集合中的节点表示的元素包括所述目标界面包括的部分元素,所述第一节点集合为所述第四节点集合,所述部分元素的个数大于1;或者
获取与所述目标界面相关的第五节点集合的节点信息,其中,所述第五节点集合仅包括一个节点,所述一个节点表示所述目标界面包括的一个元素,所述第一节点集合为所述第五节点集合。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述节点信息和所述节点描述信息均包括节点类型。
10.一种引用信息的生成装置,其特征在于,包括:
获取单元,用于获取与目标界面相关的第一节点集合的节点信息,其中,所述第一节点集合中的每个节点表示所述目标界面包括的一个元素,所述第一节点集合中的节点之间的节点关系为所述目标界面包括的元素之间的树状关系,所述节点信息包括节点名称;
第一生成单元,用于根据所述第一节点集合的节点信息和所述节点关系,生成第二节点集合的节点描述信息,其中,所述第二节点集合是对所述第一节点集合中的节点进行去重得到的节点集合,所述节点描述信息至少包括节点名称;
第二生成单元,用于根据所述第二节点集合的节点描述信息生成引用信息集合,其中,所述引用信息集合中的引用信息与目标元素集合中的元素一一对应,每个所述引用信息用于指向所述目标元素集合中对应的一个元素,所述目标元素集合包括所述第二节点集合中的每个节点所表示的元素。
11.根据权利要求10所述的装置,其特征在于,所述第一生成单元,包括:
第一获取模块,用于获取所述第二节点集合中的每个节点在所述第一节点集合中出现的次数;
设置模块,用于在所述第二节点集合包括第一组节点的情况下,将所述第一组节点的节点描述信息设置为包括所述第一组节点中每个节点的节点名称,其中,所述第一组节点中的每个节点在所述第一节点集合中出现的次数为1;
第一确定模块,用于在所述第二节点集合包括第二组节点的情况下,确定所述第二组节点中每个节点在所述节点关系中的查询路径,并将所述第二组节点的节点描述信息设置为包括所述第二组节点中每个节点的节点名称和所述查询路径,其中,所述第一组节点中的每个节点在所述第一节点集合中出现的次数大于1。
12.根据权利要求11所述的装置,其特征在于,所述第一确定模块,还用于将所述第二组节点中每个节点到所述节点关系中的根节点之间的路径确定为所述查询路径。
13.根据权利要求10所述的装置,其特征在于,所述第二生成单元,包括:
第一生成模块,用于在所述第二节点集合包括第一组节点的情况下,并行地根据所述第一组节点中每个节点的节点描述信息生成对应的第一引用信息集合,其中,所述第一组节点中的每个节点在所述第一节点集合中出现的次数为1,所述引用信息集合包括所述第一引用信息集合,所述第一组节点中每个节点的节点描述信息包括所述第一组节点中每个节点的节点名称。
14.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至9任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204506.3A CN111001157B (zh) | 2019-11-29 | 2019-11-29 | 引用信息的生成方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911204506.3A CN111001157B (zh) | 2019-11-29 | 2019-11-29 | 引用信息的生成方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111001157A true CN111001157A (zh) | 2020-04-14 |
CN111001157B CN111001157B (zh) | 2021-09-28 |
Family
ID=70113380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911204506.3A Active CN111001157B (zh) | 2019-11-29 | 2019-11-29 | 引用信息的生成方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111001157B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112190923A (zh) * | 2020-10-15 | 2021-01-08 | 网易(杭州)网络有限公司 | 一种游戏中游戏事件的处理方法、服务器及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034350A (zh) * | 2007-04-17 | 2007-09-12 | 珠海金山软件股份有限公司 | 一种快速查找计算机程序功能入口的装置和方法 |
CN102968498A (zh) * | 2012-12-05 | 2013-03-13 | 华为技术有限公司 | 数据处理方法及装置 |
CN103139224A (zh) * | 2011-11-22 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 一种网络文件***及网络文件***的访问方法 |
US20150006035A1 (en) * | 2011-11-16 | 2015-01-01 | Flextronics Ap, Llc | On board vehicle installation supervisor |
CN106547761A (zh) * | 2015-09-18 | 2017-03-29 | 北京国双科技有限公司 | 数据处理方法及装置 |
CN108829471A (zh) * | 2018-05-09 | 2018-11-16 | 深圳壹账通智能科技有限公司 | 控件路径生成方法、装置、计算机设备及存储介质 |
CN110174982A (zh) * | 2017-05-16 | 2019-08-27 | 苹果公司 | 用于在用户界面之间导航的设备、方法和图形用户界面 |
-
2019
- 2019-11-29 CN CN201911204506.3A patent/CN111001157B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101034350A (zh) * | 2007-04-17 | 2007-09-12 | 珠海金山软件股份有限公司 | 一种快速查找计算机程序功能入口的装置和方法 |
US20150006035A1 (en) * | 2011-11-16 | 2015-01-01 | Flextronics Ap, Llc | On board vehicle installation supervisor |
CN103139224A (zh) * | 2011-11-22 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 一种网络文件***及网络文件***的访问方法 |
CN102968498A (zh) * | 2012-12-05 | 2013-03-13 | 华为技术有限公司 | 数据处理方法及装置 |
CN106547761A (zh) * | 2015-09-18 | 2017-03-29 | 北京国双科技有限公司 | 数据处理方法及装置 |
CN110174982A (zh) * | 2017-05-16 | 2019-08-27 | 苹果公司 | 用于在用户界面之间导航的设备、方法和图形用户界面 |
CN108829471A (zh) * | 2018-05-09 | 2018-11-16 | 深圳壹账通智能科技有限公司 | 控件路径生成方法、装置、计算机设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112190923A (zh) * | 2020-10-15 | 2021-01-08 | 网易(杭州)网络有限公司 | 一种游戏中游戏事件的处理方法、服务器及可读存储介质 |
CN112190923B (zh) * | 2020-10-15 | 2024-05-14 | 网易(杭州)网络有限公司 | 一种游戏中游戏事件的处理方法、服务器及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111001157B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634598B (zh) | 一种页面显示方法、装置、设备及存储介质 | |
US10409558B2 (en) | Workflow development system with ease-of-use features | |
US20210034336A1 (en) | Executing a process-based software application in a first computing environment and a second computing environment | |
CN102520841B (zh) | 收集用户接口 | |
US9395890B2 (en) | Automatic discovery of system behavior | |
CN109074537A (zh) | 模板的懒惰生成 | |
WO2018036342A1 (zh) | 基于csar的模型文件的可视化设计方法及装置 | |
CN111966633B (zh) | 用于查询目录下子节点的方法、装置、电子设备及介质 | |
CN109739855B (zh) | 实现数据表拼接及自动训练机器学习模型的方法和*** | |
CN108304676B (zh) | 装配体三维模型自动重建方法、终端设备及存储介质 | |
CN104484216A (zh) | 服务接口文档和在线测试工具生成方法、装置 | |
CN108279882B (zh) | 框架生成方法、装置、设备及计算机可读介质 | |
US20200233878A1 (en) | Card-based information management method and system | |
CN112860247A (zh) | 一种模型组件的自定义生成方法、装置、设备及介质 | |
US20170010764A1 (en) | Pivot-based tile gallery with adapted tile(s) | |
CN111538500A (zh) | 一种可视化修改菜单的方法和*** | |
CN109840201B (zh) | Ui测试方法、装置、电子设备及计算机可读存储介质 | |
CN111001157B (zh) | 引用信息的生成方法和装置、存储介质及电子装置 | |
CN104956326A (zh) | 基于抽象测试用户控制的测试脚本创建 | |
CN102779045A (zh) | 一种界面生成方法、界面编辑器及电子设备 | |
CN111831320A (zh) | 插件管理方法、装置、电子设备及存储介质 | |
US10147061B2 (en) | Integrating a construction jobsite system with external tools | |
JP2021120899A (ja) | ユーザ識別方法、装置、記憶媒体及び電子機器 | |
CN111124386B (zh) | 基于Unity的动画事件处理方法、装置、设备和存储介质 | |
CN112988176A (zh) | 渠道包的生成方法和装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021748 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |