[发明专利]动画队列的排队方法、存储介质、设备及系统有效
申请号: | 201810023918.6 | 申请日: | 2018-01-10 |
公开(公告)号: | CN110018889B | 公开(公告)日: | 2021-06-15 |
发明(设计)人: | 汪刚;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 王维 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动画 队列 排队 方法 存储 介质 设备 系统 | ||
本发明公开了一种动画队列的排队方法、存储介质、设备及系统,涉及互联网移动端应用开发领域,该方法包括以下步骤:定义一个遵守NSObject协议的动画协议。根据动画协议将每个动画的执行过程包装成一个动画对象。创建一个动画队列类,重写所述动画队列类的初始化函数,在重写的初始化函数内部创建一个队列,并创建一个锁。按照一次加锁只能添加一次动画对象的方式,将动画对象添加到队列中,并在添加完毕后进行解锁。播放一个所添加的动画对象,并按照一次加锁只能移除一次动画对象的方式,将播放完毕的动画对象从队列中移除,在移除完毕后进行解锁,再播放下一个所添加的动画对象。本发明能保证先后执行的动画衔接连贯。
技术领域
本发明涉及互联网移动端应用开发领域,具体涉及一种动画队列的排队方法、存储介质、设备及系统。
背景技术
随着手机移动端的快速发展,在直播app中,为了直播的需要,很多时候需要增加特效,而动画就是一种特效,这些动画来到客户端的时间是存在先手顺序的,如何实现一种有效的机制来实现动画队列的排队就显得非常重要。
目前常规的动画队列的排队方法主要是使用定时策略,即时间到了执行下一次动画,但是如果定时器存在误差,就会出现先后执行的动画衔接不连贯的情况。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种能保证先后执行的动画衔接连贯的动画队列的排队方法。
为达到以上目的,本发明采取的技术方案是:
一种动画队列的排队方法,该方法包括以下步骤:
S1.定义一个遵守NSObject协议的动画协议;
S2.根据动画协议将每个动画的执行过程包装成一个动画对象;
S3.创建一个动画队列类,重写所述动画队列类的初始化函数,在重写的初始化函数内部创建一个队列,并创建一个用于限定队列中动画对象更新的锁,所述更新包括添加或移除;
S4.按照一次加锁只能添加一次动画对象的方式,将动画对象添加到队列中,并在添加完毕后进行解锁;以及
S5.播放一个所添加的动画对象,并按照一次加锁只能移除一次动画对象的方式,将播放完毕的动画对象从队列中移除,在移除完毕后进行解锁,再播放下一个所添加的动画对象。
在上述技术方案的基础上,所述队列为数组,使用数组类NSMutableArray的alloc函数和init函数创建所述数组。
在上述技术方案的基础上,使用NSLock类调用alloc函数为锁分配内存,以及使用init函数创建所述锁。
在上述技术方案的基础上,步骤S4具体包括:
判断当前需要添加的动画对象是否存在,若存在,则利用lock函数对队列加锁,然后利用addObject函数将该动画对象添加到队列中,添加完毕后再使用unlock函数进行解锁。
在上述技术方案的基础上,将播放完毕的动画对象从队列中移除的步骤具体包括:
判断当前的队列里的动画对象的个数是否大于0,若是,使用lock函数对队列行加锁;
移除队列的第一个动画对象,移除完毕后使用unlock函数将当前的队列进行解锁。
本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明还提供一种设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明还提供一种动画队列的排队系统,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810023918.6/2.html,转载请声明来源钻瓜专利网。