一种锚点更新的方法及装置制造方法及图纸

技术编号:24035054 阅读:34 留言:0更新日期:2020-05-07 01:40
本申请提供一种锚点更新的方法及装置,其中所述方法包括:在确定至少一个节点的锚点更新事件被触发的情况下,查看该节点是否在预存的依赖树中,其中,所述依赖树根据多个节点的锚点更新关系生成;若是,在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕;若否,执行待更新节点的锚点更新事件,从而通过依赖树可以确定多个节点的锚点更新事件的执行顺序,而且无需额外的开销,节省了资源。

A method and device of anchor renewal

【技术实现步骤摘要】
一种锚点更新的方法及装置
本申请涉及互联网
,特别涉及一种锚点更新的方法及装置、计算设备和计算机可读存储介质。
技术介绍
NGUI为一种用C#编写的Unity插件,提供强大的UI系统和事件通知框架。其代码简洁,多数类少于200行代码。可以很容易地扩展NGUI插件的功能或调节已有功能。并且NGUI插件可以完全集成到监视面板中,不需要点击播放按钮就能查看结果。对于用户而言,这意味着更高的性能、更低的学习难度和更加有趣。现有技术中,基于NGUI的多个节点在锚点更新时,使用的是NGUI自己携带的锚点更新方式,但是这种更新方式并不考虑多个节点之间的关联关系。例如对于节点A和B,若节点A的锚点依赖于节点B,但是A的锚点更新顺序优先于节点B的情况下,就会出现节点A先进行锚点更新,然后节点B再进行锚点更新,使得节点A的锚点计算错误。为了避免上述错误,现有技术中的NGUI中只能使用的办法是:把节点A的锚点更新方式改为OnUpdate,此种锚点更新方式会在每帧被执行,而大部分情况下,在UI界面的开始几帧得到正确的锚点即可,后面大部分时间锚点都不会发生变化,因此使用OnUpdate的锚点更新方式就会带来额外的开销。
技术实现思路
有鉴于此,本申请实施例提供了一种锚点更新的方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。本申请实施例提供了一种锚点更新的方法,包括:在确定至少一个节点的锚点更新事件被触发的情况下,查看该节点是否在预存的依赖树中,其中,所述依赖树根据多个节点的锚点更新关系生成;若是,在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕;若否,执行待更新节点的锚点更新事件。可选地,所述方法还包括:根据多个节点的锚点更新关系确定每个节点对应的父节点和/或子节点,根据每个节点对应的父节点和/或子节点建立所述多个节点对应的依赖树。可选地,根据每个节点对应的父节点和/或子节点建立所述多个节点对应的依赖树,包括:S11、检查待处理节点的父节点是否为容器节点,若是,执行步骤S12,若否,执行步骤S13;S12、将所述待处理节点与待处理节点的父节点建立依赖关系;S13、拒绝为所述待处理节点与待处理节点的父节点建立依赖关系;S14、将父节点作为待处理节点,查看待处理节点是否还存在父节点,若是,执行步骤S11,若否,执行步骤S15;S15、根据所述依赖关系,建立所述多个节点对应的依赖树。可选地,在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕,包括:S21、查看待更新节点是否存在父节点,若是,执行步骤S22,若否,执行步骤S24;S22、执行所述待更新节点的锚点更新事件,并在所述待更新节点的锚点更新事件执行完毕的情况下,执行所述待更新节点的父节点的锚点更新事件;S23、将待更新节点的父节点作为待更新节点,执行步骤S21;S24、执行所述待更新节点的锚点更新事件。可选地,所述步骤S22包括:在所述待更新节点的锚点更新事件被触发的情况下,通知所述待更新节点的父节点添加待更新节点标记;在所述待更新节点的锚点更新事件执行完毕的情况下,通知所述待更新节点的父节点移除所述待更新节点标记;在所述待更新节点标记移除完毕后,所述待更新节点的父节点执行锚点更新事件。可选地,所述待更新节点的锚点更新事件被触发的条件包括:所述待更新节点发生位移事件或缩放事件。本申请实施例提供了一种锚点更新的装置,包括:依赖关系查看模块,被配置为在确定至少一个节点的锚点更新事件被触发的情况下,查看该节点是否在预存的依赖树中,若是,执行第一执行模块,若否,执行第二执行模块,其中,所述依赖树根据多个节点的锚点更新关系生成;第一执行模块,被配置为在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕;第二执行模块,被配置为执行待更新节点的锚点更新事件。可选地,所述装置还包括:依赖树建立模块,被配置为根据多个节点的锚点更新关系确定每个节点对应的父节点和/或子节点,根据每个节点对应的父节点和/或子节点建立所述多个节点对应的依赖树。本申请实施例提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述的锚点更新的方法的步骤。本申请实施例提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的锚点更新的方法的步骤。本申请提供的锚点更新的方法及装置,根据多个节点的锚点更新关系生成依赖树,在确定至少一个节点的锚点更新事件被触发的情况下,在待更新节点的锚点更新事件执行完毕的情况下,根据依赖树确定待更新节点的父节点并执行相应的锚点更新事件,直至依赖树中的节点的锚点更新事件执行完毕,从而通过依赖树可以确定多个节点的锚点更新事件的执行顺序,而且无需额外的开销,节省了资源。附图说明图1是本申请一实施例的计算设备的结构示意图;图2是本申请一实施例的锚点更新的方法的流程示意图;图3是本申请一实施例的依赖树的结构示意图;图4是本申请一实施例的锚点更新的方法的流程示意图;图5是本申请另一实施例的锚点更新的方法的流程示意图;图6是本申请另一实施例的锚点更新的方法的流程示意图;图7是本申请另一实施例的父子节点的锚点更新的流程示意图;图8是本申请一实施例的锚点更新的装置的结构示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。首先,对本发本文档来自技高网...

【技术保护点】
1.一种锚点更新的方法,其特征在于,包括:/n在确定至少一个节点的锚点更新事件被触发的情况下,查看该节点是否在预存的依赖树中,其中,所述依赖树根据多个节点的锚点更新关系生成;/n若是,在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕;/n若否,执行待更新节点的锚点更新事件。/n

【技术特征摘要】
1.一种锚点更新的方法,其特征在于,包括:
在确定至少一个节点的锚点更新事件被触发的情况下,查看该节点是否在预存的依赖树中,其中,所述依赖树根据多个节点的锚点更新关系生成;
若是,在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕;
若否,执行待更新节点的锚点更新事件。


2.如权利要求1所述的方法,其特征在于,还包括:
根据多个节点的锚点更新关系确定每个节点对应的父节点和/或子节点,根据每个节点对应的父节点和/或子节点建立所述多个节点对应的依赖树。


3.如权利要求2所述的方法,其特征在于,根据每个节点对应的父节点和/或子节点建立所述多个节点对应的依赖树,包括:
S11、检查待处理节点的父节点是否为容器节点,若是,执行步骤S12,若否,执行步骤S13;
S12、将所述待处理节点与待处理节点的父节点建立依赖关系;
S13、拒绝为所述待处理节点与待处理节点的父节点建立依赖关系;
S14、将父节点作为待处理节点,查看待处理节点是否还存在父节点,若是,执行步骤S11,若否,执行步骤S15;
S15、根据所述依赖关系,建立所述多个节点对应的依赖树。


4.如权利要求1所述的方法,其特征在于,在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕,包括:
S21、查看待更新节点是否存在父节点,若是,执行步骤S22,若否,执行步骤S24;
S22、执行所述待更新节点的锚点更新事件,并在所述待更新节点的锚点更新事件执行完毕的情况下,执行所述待更新节点的父节点的锚点更新事件;
S23、将待更新节点的父节点作为待更新节点,执行步骤S21;<...

【专利技术属性】
技术研发人员:黄浩任超凝钟洪斌尤海燕
申请(专利权)人:珠海金山网络游戏科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1