一种帧动画播放方法及装置、存储介质及电子设备制造方法及图纸

技术编号:32111094 阅读:69 留言:0更新日期:2022-01-29 18:54
本申请提供了一种帧动画播放方法及装置、存储介质及电子设备,该方法包括:获取帧动画压缩包,对帧动画压缩包进行解压处理,得到帧动画压缩包中包括的各个帧动画文件,基于各个帧动画文件的时间戳,将各个帧动画文件组成文件数组,从而依次将文件数据中的每个帧动画文件写入动画帧输出容器中,并调用预设的动画帧输出函数,依次执行动画帧输出容器中的帧动画文件,以实现对各个帧动画文件的播放。可见,本申请方案,由于获取的是帧动画压缩包,因此,帧动画压缩包所包括的帧动画文件中的图片格式可以是任意图片格式,且无需编写特效程序,从而减少开发成本高和资源占用。而减少开发成本高和资源占用。而减少开发成本高和资源占用。

【技术实现步骤摘要】
一种帧动画播放方法及装置、存储介质及电子设备


[0001]本申请涉及动画播放
,尤其涉及一种帧动画播放方法及装置、存储介质及电子设备。

技术介绍

[0002]目前,动画播放方案主要有以下两种:(1)编写特效程序,使用JavaScript、CSS、Canvas技术等编写动画逻辑,在一定时间内控制物件的生成、变形、大小、位置、轨迹等状态,实现动画效果。
[0003](2)制作GIF动画,通过使用专门的动画制作工具,让多个GIF图片按一定规律快速连续播放,达到运动画面的效果。
[0004]然而,对于第一种动画播放方案,需要掌握各类动画算法、物件控制难度大,从而导致开发成本较高,并且复杂动画的CPU计算资源占用较大。对于第二种动画播放方案,仅支持GIF压缩格式,通用性差。

技术实现思路

[0005]本申请提供了一种帧动画播放方法及装置、存储介质及电子设备,目的在于解决现有的动画播放方案开发成本高、资源占用大和通用性差的问题。
[0006]为了实现上述目的,本申请提供了以下技术方案:一种帧动画播放方法,其特征在于,包括:获取帧动画压缩包;对所述帧动画压缩包进行解压处理,得到所述帧动画压缩包中包括的各个帧动画文件;基于各个帧动画文件的时间戳,将各个帧动画文件组成文件数组;将所述文件数组中的第一个帧动画文件作为待播放帧动画文件;判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,若播放器当前的播放时间不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,则将预设的动画帧输出容器中的帧动画文件进行删除,并将所述待播放帧动画文件写入所述动画帧输出容器中,并调用预设的动画帧输出函数,执行所述动画帧输出容器中的帧动画文件,以对所述动画帧输出容器中的帧动画文件进行播放;判断所述待播放帧动画文件是否为所述文件数组中的最后一个帧动画文件;若所述待播放帧动画文件不为所述文件数组中的最后一个帧动画文件,则将所述文件数组中所述待播放帧动画文件的下一个帧动画文件作为新的待播放帧动画文件,并基于所述新的待播放帧动画文件,返回执行所述判断所述播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个
帧动画文件的时间戳的步骤,直至待播放帧动画文件为所述文件数组中的最后一个帧动画文件。
[0007]上述的方法,可选的,还包括:若播放器当前的播放时间小于所述待播放帧动画文件的时间戳,则判断当前正在播放的帧动画文件是否携带静止标记;若当前正在播放的帧动画文件携带静止标记,则返回执行所述判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤;若当前正在播放的帧动画文件未携带静止标记,则基于所述播放器当前的播放时间,确定待索引时间;从所述文件数组中查找与所述待索引时间对应的帧动画文件;将所查找到的帧动画文件确定为新的待播放帧动画文件,并基于所述新的待播放帧动画文件,返回执行所述判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤。
[0008]上述的方法,可选的,还包括:若所述播放器当前的播放时间不小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,则基于所述播放器当前的播放时间,确定待索引时间;从所述文件数组中查找与所述待索引时间对应的帧动画文件;将所查找到的帧动画文件确定为新的待播放帧动画文件,并基于所述新的待播放帧动画文件,返回执行所述判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤。
[0009]上述的方法,可选的,所述从所述文件数组中查找与所述待索引时间对应的帧动画文件,包括:获取参照索引;将所述文件数组中所述参照索引对应的帧动画文件的下一个帧动画文件作为初始帧动画文件;判断所述待索引时间是否大于所述文件数组中所述初始帧动画文件的上一个帧动画文件的时间戳,且小于所述初始帧动画文件的时间戳;若是,则将所述初始帧动画文件确定为与所述待索引时间对应的帧动画文件;若否,则将所述文件数组中所述初始帧动画文件的下一个帧动画文件作为新的初始帧动画文件,并基于所述新的初始帧动画文件,返回执行所述判断所述待索引时间是否大于所述文件数组中所述初始帧动画文件的上一个帧动画文件的时间戳,且小于所述初始帧动画文件的时间戳的步骤。
[0010]上述的方法,可选的,所述获取帧动画压缩包,包括:调用浏览器应用程序编程接口API,加载帧动画压缩包;在加载的过程中,将已加载的数据转换为二进制数据,并对所述二进制数据进行缓冲处理。
[0011]上述的方法,可选的,所述将所述文件数组中的第一个帧动画文件作为待播放帧
动画文件,包括:判断播放器是否处于播放状态;若播放器处于播放状态,则将所述文件数组中的第一个帧动画文件作为待播放帧动画文件。
[0012]一种帧动画播放装置,包括:获取单元,用于获取帧动画压缩包;解压单元,用于对所述帧动画压缩包进行解压处理,得到所述帧动画压缩包中包括的各个帧动画文件;组合单元,用于基于各个帧动画文件的时间戳,将各个帧动画文件组成文件数组;第一确定单元,用于将所述文件数组中的第一个帧动画文件作为待播放帧动画文件;第一判断单元,用于判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,若播放器当前的播放时间不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,则将预设的动画帧输出容器中的帧动画文件进行删除,并将所述待播放帧动画文件写入所述动画帧输出容器中,并调用预设的动画帧输出函数,执行所述动画帧输出容器中的帧动画文件,以对所述动画帧输出容器中的帧动画文件进行播放;第二判断单元,用于判断所述待播放帧动画文件是否为所述文件数组中的最后一个帧动画文件;第一返回单元,用于若所述待播放帧动画文件不为所述文件数组中的最后一个帧动画文件,则将所述文件数组中所述待播放帧动画文件的下一个帧动画文件作为新的待播放帧动画文件,并基于所述新的待播放帧动画文件,返回执行所述判断所述播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤,直至待播放帧动画文件为所述文件数组中的最后一个帧动画文件。
[0013]上述的装置,可选的,还包括:第三判断单元,用于若播放器当前的播放时间小于所述待播放帧动画文件的时间戳,则判断当前正在播放的帧动画文件是否携带静止标记;第二返回单元,用于若当前正在播放的帧动画文件携带静止标记,则返回执行所述判断播放器当前的播放时间是否不小于所述待播放本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种帧动画播放方法,其特征在于,包括:获取帧动画压缩包;对所述帧动画压缩包进行解压处理,得到所述帧动画压缩包中包括的各个帧动画文件;基于各个帧动画文件的时间戳,将各个帧动画文件组成文件数组;将所述文件数组中的第一个帧动画文件作为待播放帧动画文件;判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,若播放器当前的播放时间不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,则将预设的动画帧输出容器中的帧动画文件进行删除,并将所述待播放帧动画文件写入所述动画帧输出容器中,并调用预设的动画帧输出函数,执行所述动画帧输出容器中的帧动画文件,以对所述动画帧输出容器中的帧动画文件进行播放;判断所述待播放帧动画文件是否为所述文件数组中的最后一个帧动画文件;若所述待播放帧动画文件不为所述文件数组中的最后一个帧动画文件,则将所述文件数组中所述待播放帧动画文件的下一个帧动画文件作为新的待播放帧动画文件,并基于所述新的待播放帧动画文件,返回执行所述判断所述播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤,直至待播放帧动画文件为所述文件数组中的最后一个帧动画文件。2.根据权利要求1所述的方法,其特征在于,还包括:若播放器当前的播放时间小于所述待播放帧动画文件的时间戳,则判断当前正在播放的帧动画文件是否携带静止标记;若当前正在播放的帧动画文件携带静止标记,则返回执行所述判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤;若当前正在播放的帧动画文件未携带静止标记,则基于所述播放器当前的播放时间,确定待索引时间;从所述文件数组中查找与所述待索引时间对应的帧动画文件;将所查找到的帧动画文件确定为新的待播放帧动画文件,并基于所述新的待播放帧动画文件,返回执行所述判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤。3.根据权利要求1所述的方法,其特征在于,还包括:若所述播放器当前的播放时间不小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳,则基于所述播放器当前的播放时间,确定待索引时间;从所述文件数组中查找与所述待索引时间对应的帧动画文件;将所查找到的帧动画文件确定为新的待播放帧动画文件,并基于所述新的待播放帧动画文件,返回执行所述判断播放器当前的播放时间是否不小于所述待播放帧动画文件的时
间戳,且小于所述文件数组中所述待播放帧动画文件的下一个帧动画文件的时间戳的步骤。4.根据权利要求2或3所述的方法,其特征在于,所述从所述文件数组中查找与所述待索引时间对应的帧动画文件,包括:获取参照索引;将所述文件数组中所述参照索引对应的帧动画文件的下一个帧动画文件作为初始帧动画文件;判断所述待索引时间是否大于所述文件数组中所述初始帧动画文件的上一个帧动画文件的时间戳,且小于所述初始帧动画文件的时间戳;若是,则将所述初始帧动画文件确定为与所述待索引时间对应的帧动画文件;若否,则将所述文件数组中所述初始帧动画文件的下一个帧动画文件作为新的初始帧动画文件,并基于所述新的初始帧动画文件,返回执行所述判断所述待索引时间是否大于所述文件数组中...

【专利技术属性】
技术研发人员:周峰曲丽丽陈静
申请(专利权)人:北京搜狐新动力信息技术有限公司
类型:发明
国别省市:

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

1