[发明专利]一种锚点更新的方法及装置有效
申请号: | 201911376248.7 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111104144B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 黄浩;任超凝;钟洪斌;尤海燕 | 申请(专利权)人: | 珠海金山数字网络科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 北京智信禾专利代理有限公司 11637 | 代理人: | 王治东 |
地址: | 519000 广东省珠海市高新区唐家湾镇前岛环路325号102室*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 更新 方法 装置 | ||
本申请提供一种锚点更新的方法及装置,其中所述方法包括:在确定至少一个节点的锚点更新事件被触发的情况下,查看该节点是否在预存的依赖树中,其中,所述依赖树根据多个节点的锚点更新关系生成;若是,在待更新节点的锚点更新事件执行完毕的情况下,执行待更新节点的父节点的锚点更新事件,直至所述依赖树中的所述节点的锚点更新事件执行完毕;若否,执行待更新节点的锚点更新事件,从而通过依赖树可以确定多个节点的锚点更新事件的执行顺序,而且无需额外的开销,节省了资源。
技术领域
本申请涉及互联网技术领域,特别涉及一种锚点更新的方法及装置、计算设备和计算机可读存储介质。
背景技术
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;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山数字网络科技有限公司,未经珠海金山数字网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911376248.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种改性氧化石墨烯催化剂的制备方法
- 下一篇:防火隔间墙结构