本发明专利技术公开了一种多个动画文件的合并显示方法,该方法包括:步骤A:为各个需要合并的动画文件分配独立的显示层;步骤B:将各个动画文件的显示内容放置到各自所分配得到的层中;步骤C:将所有层中的显示内容在一帧中按照一定的层次关系全部显示出来。本发明专利技术能够将需要合并显示的多个动画文件实际合并到一个动画文件中,无需在合并显示过程中使用各个动画文件的存放路径,从而减少了动画文件合并显示过程中的工作量,降低了动画文件合并显示的实现难度。
【技术实现步骤摘要】
本专利技术涉及动画制作
,尤其涉及。
技术介绍
当前,即时通讯(IM)工具已经得到越来越广泛的应用,人们在利用IM工具实现即时通信的同时,对IM工具的服务质量也有了更高的要求,其中,由于显示在IM工具上的个人虚拟形象能够代表IM工具使用者的许多特征,因此,备受IM工具使用者的关注,由此,需要提高IM工具上个人虚拟形象的显示质量,以达到提高IM工具服务质量的需要。在现有技术中,采用动画图像作为个人虚拟形象,以替代最初所采用的静止图像,以达到提高显示质量的需要。在实际应用过程中,允许IM工具使用者在例如脸形、发型、衣服、背景、装饰物等虚拟形象组成元素中进行选择,以利用所选择的元素最终构成动画图像来作为虚拟形象。各个组成元素分别具有多个备选元素以供选择,各个备选元素分别以动画文件的形式保存,当IM工具使用者选择相应的备选元素后,通过预先提供的脚本命令,将这些备选元素所对应的动画文件动态加载到一个动画文件中,通过显示该动画文件则可实现以动画的方式显示个人虚拟形象。在现有技术中,只是通过脚本命令将各个动画文件动态加载到一个动画文件中,实际上并没有将各个动画文件合并到一个动画文件中,这样做虽然能够在视觉效果上达到合并多个动画文件的效果,但是,由于各个动画文件分别具有各自的存放路径,因此,需要提供这些存放路径给脚本命令,脚本命令还需要根据这些存放路径分别获得各个动画文件来实现动态加载,从而增加了合并多个动画的工作量和实现难度,不利于采用动画方式作为个人虚拟形象的具体实现。同样,在其它需要将多个动画合并显示的实际应用中,由于现有技术并没有将多个动画文件实际合并到一个动画文件中,因此,也存着上述工作量大以及不易实现的问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,该方法能够将多个需要合并显示的动画文件实际合并到一个动画文件中并显示,从而减少多个动画合并显示过程中的工作量,降低实现难度。为实现上述目的,本专利技术提供了,该方法包括步骤A为各个需要合并的动画文件分配独立的显示层;步骤B将各个动画文件的显示内容放置到各自所分配得到的层中;步骤C将所有层中的显示内容在一帧中按照一定的层次关系全部显示出来。其中,所述动画文件为震荡波格式(Swf)文件,步骤A包括步骤A1为需要合并的动画文件分别创建子动画;步骤A2为所创建的子动画分别分配独立的显示层。其中,步骤A1为按照各个Swf文件合并的先后次序,顺序为每个需要合并的Swf文件创建一个动画定义标签块,并为各个动画定义标签块分别确定一个全局唯一的对象标识;步骤A2为为每个创建的动画定义标签块分别创建一个与之对应的放置对象标签块,确定每个放置对象标签块所指明的二元数组(对象标识,层序号),其中,确定该二元数组(对象标识,层序号)中的对象标识为与该放置对象标签块相对应的动画定义标签块的对象标识,确定该二元数组(对象标识,层序号)中的层序号为一个未被其它显示对象占用的层的层序号。其中,所述为各个动画定义标签块分别确定一个全局唯一的对象标识为 将需要合并的Swf文件的顺序号作为为该Swf文件所创建的动画定义标签块的对象标识。其中,所述确定该二元数组(对象标识,层序号)中的层序号为一个未被其它显示对象占用的层的层序号为将需要合并的Swf文件的顺序号作为为该Swf文件所分配的独立的层的层序号,将该层序号作为所述二元数组(对象标识,层序号)中的层序号。其中,所述动画文件为Swf文件,步骤B包括步骤B0更新需要合并的动画文件的显示对象标识,以使得该显示对象标识在合并之后全局唯一;步骤B1将需要合并的Swf文件的定义标签块放置到为该文件所创建的动画定义标签块之前;步骤B2将需要合并的Swf文件的控制标签块放置到为该文件所创建的动画定义标签块之中,作为该动画定义标签块的子动画标签块;步骤B3需要合并的Swf文件利用为其所创建的放置对象标签块,将为该Swf文件所创建的动画定义标签块所定义的显示内容放置到为该Swf文件所分配的独立的显示层中。其中,在步骤B0中,所述更新各个动画文件的显示对象标识为遍历需要合并的Swf文件中的每个标签块的各个对象标识,为标签块中出现与已经分配的对象标识相冲突的对象标识重新分配对象标识,并将在该Swf文件的其余标签块中出现的该对象标识也更新为重新分配后的对象标识。其中,该方法进一步包括分别统计各个需要合并的Swf文件中的显示帧标签块的个数,然后分别用统计得到的个数更新对应的为Swf文件所创建的动画定义标签块中的帧数值。其中,步骤B3中,所述将为该Swf文件所创建的动画定义标签块所定义的显示内容放置到为该Swf文件所分配的独立的显示层中为放置对象标签块将其所指明的二元数组(对象标识,层序号)添加到显示列表中;其中,对象标识为所述为该Swf文件所创建的动画定义标签块的对象标识,层序号为所述为该Swf文件所分配的独立的显示层的序号。其中,步骤C包括显示帧标签块,根据显示列表中的各个二元数组(对象标识,层序号)的内容,在一帧中依次播放各层的显示内容。可见,本专利技术能够将需要合并显示的多个动画文件实际合并到一个动画文件中,无需在合并显示过程中使用各个动画文件的存放路径,从而减少了动画文件合并显示过程中的工作量,降低了动画文件合并显示的实现难度。附图说明图1为本专利技术一实施例中第5个Swf文件的示意图。图2为实现本专利技术的流程图。图3为本专利技术中构建的Swf原型的示意图。图4为本专利技术中更新对象标识之后的第5个Swf文件的示意图。图5示出了本专利技术一实施例中,将第5个Swf文件合并到Swf原型中后的结果。具体实施例方式本专利技术为,该方法为各个需要合并显示的动画文件分别分配唯一的显示层,并且更新各个动画文件中的对象标识值,使得各个对象标识值在合并后的动画文件中全局唯一,然后,将各个动画文件的显示内容放置到各自所分配得到的层中,最后,再将所有层中的显示内容在一帧中按照一定的层次关系全部显示出来,从而实现多个动画文件的合并显示。下面,以Flash技术中的动画合并显示为例,对本专利技术进行详细描述,该描述的目的只在于对本专利技术进行说明,并不在于限定本专利技术的保护范围,本专利技术同样可以应用于其它形式的动画文件之中。在Flash的实际应用中,动画文件以震荡波格式(Swf)文件格式保存,Swf文件播放器读取Swf文件中的内容并根据该内容播放Flash动画。Swf文件由头部信息和数据信息组成,其中,头部信息包括播放该Swf文件所需要的一些公共信息,例如是否压缩、版本信息、显示区域等,数据信息则由多个标签块(Tag)顺序组成,每个标签块分别具有各自的标签类型(Tid)、标签块长度、以及标签块数据,结束(end)标签块位于Swf文件的末尾,作为该文件的结束标志。上述的标签块分为两类,分别是定义标签块(Definition tag)和控制标签块(Control tag),其中每个定义标签块用于定义一个对象,并为每个对象分配一个唯一的对象标识(Cid),定义标签块分为两种类型,下面分别对这两种类型进行介绍1、形状定义(DefineShape2)标签块,该标签块的Tid为22,用于为对象定义例如圆形、矩形等的形状,并为所定义的对象分配一个Cid;2、动画定义(DefineSprite)标签块,该标签块的Tid为本文档来自技高网...
【技术保护点】
一种多个动画文件的合并显示方法,其特征在于,该方法包括: 步骤A:为各个需要合并的动画文件分配独立的显示层; 步骤B:将各个动画文件的显示内容放置到各自所分配得到的层中; 步骤C:将所有层中的显示内容在一帧中按照一定的层次关系全部显示出来。
【技术特征摘要】
【专利技术属性】
技术研发人员:王麒,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。