CN106157349A - 一种动作补间动画的自动生成方法及自动生成*** - Google Patents

一种动作补间动画的自动生成方法及自动生成*** Download PDF

Info

Publication number
CN106157349A
CN106157349A CN201510203284.9A CN201510203284A CN106157349A CN 106157349 A CN106157349 A CN 106157349A CN 201510203284 A CN201510203284 A CN 201510203284A CN 106157349 A CN106157349 A CN 106157349A
Authority
CN
China
Prior art keywords
animation
motion tweening
motion
tweening
interface control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510203284.9A
Other languages
English (en)
Other versions
CN106157349B (zh
Inventor
王杰
陈思佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suning Commerce Group Co Ltd
Original Assignee
Suning Commerce Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suning Commerce Group Co Ltd filed Critical Suning Commerce Group Co Ltd
Priority to CN201510203284.9A priority Critical patent/CN106157349B/zh
Publication of CN106157349A publication Critical patent/CN106157349A/zh
Application granted granted Critical
Publication of CN106157349B publication Critical patent/CN106157349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种动作补间动画的自动生成方法,包括以下过程:S10将动作补间动画转化为动作补间动画描述文件;S20建立动作补间动画生成框架;S30将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。同时还公开了一种动作补间动画的自动生成***,包括:转化模块:用于将动作补间动画转化为动作补间动画描述文件;建立模块:用于建立动作补间动画生成框架;生成模块:用于将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。该自动生成方法及自动生成***,使得不同的动作补间动画通过同一动作补间动画生成框架,减少了开发者的编码工作,且该自动生成方法可实现交互。

Description

一种动作补间动画的自动生成方法及自动生成***
技术领域
本发明涉及界面应用和框架开发领域,具体来说,涉及一种动作补间动画的自动生成方法及自动生成***。
背景技术
动画是界面程序常涉及的一种效果展现方式。帧动画是指按照帧图片的方式制作生成出来的动画。补间动画属于帧动画中的一种。补间动画是指定义若干个关键帧,在帧与帧之间用程序自动计算得到***帧,从而生成完整的帧动画。补间动画包括动作补间动画和形状补间动画。动作补间动画是在一个点定义实例的位置、透明度、缩放比及旋转角度等属性,然后才可以在其他位置改变这些属性,从而由这些属性变化产生动画。它根据同一对象在关键帧中的大小,位置,旋转、倾斜、透明度等属性的差别计算生成,动作补间可用于组、图形元件、按钮、影片剪辑、位图。目前,纯动画效果的展示,集成虽然简单,但是内存消耗大,且用户无法与动画中的物体进行交互。
发明内容
技术问题:本发明所要解决的技术问题是:提供一种动作补间动画的自动生成方法及自动生成***,使得不同的动作补间动画通过同一动作补间动画生成框架,自动化生成代码,减少了开发者的编码工作,且该自动生成方法可实现交互。
技术方案:为解决上述技术问题,一方面,本发明提供一种动作补间动画的自动生成方法,该生成方法包括以下过程:
S10将动作补间动画转化为动作补间动画描述文件;
S20建立动作补间动画生成框架;
S30将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
作为一种实施例,所述的步骤S10包括以下过程:
S101将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项;
S102建立动作补间动画描述文件模板,该动作补间动画描述文件模板包含物体、属性和关键帧;
S103将S101的输出项输入S102建立的动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应步骤S101中拆解后的图片。
作为一种实施例,所述的步骤S20包括以下过程:
S201生成界面控件实例列表和动画实例列表;
S202根据S201生成的界面控件实例列表,组装出界面;
S203将S202组装的界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
作为一种实施例,所述的步骤S201中,生成界面控件实例列表的过程为:首先判断是否存在物体的位移和旋转跟随另一个物体而改变,如果是,则被跟随的物体解析为ViewGroup类型,发生跟随的物体解析为ImageView类型,并将ImageView实例通过父子关系添加到ViewGroup实例中;如果否,则将每个物体解析为一ImageView类型;其次,将所有ImageView实例和ViewGroup实例进行集合,生成界面控件实例列表。
作为一种实施例,,所述的步骤S201中,生成动画实例列表的过程为:关键帧生成Keyframe实例,属性和Keyframe实例通过PropertyValuesHolder接口关联,然后将物体和PropertyValuesHolder接口用ObjectAnimator实例关联,最后将所有的ObjectAnimator实例通过AnimatorSet实例集合保存,生成动画实例列表。
作为一种实施例,所述的步骤S202的过程为:首先,判断界面控件实例是否存在父节点,如果是,则将界面控件实例添加到其父节点的ViewGroup实例中;如果否,则将界面控件实例添加进根容器中;其次,将父节点的ViewGroup实例也添加到根容器中,按层次关系组装界面控件实例,生成界面。
作为一种实施例,所述的步骤S202中,界面控件实例添加进根容器中的过程为:先将视觉层次位于下层的界面控件实例添加到根容器中,然后将视觉层次覆盖在上层的界面控件实例添加到根容器中;界面控件实例添加到其父节点的ViewGroup实例中的过程为:先将视觉层次位于下层的界面控件实例添加到ViewGroup实例中,然后将视觉层次覆盖在上层的界面控件实例添加到ViewGroup实例中;父节点的ViewGroup实例添加到根容器的过程为:先将视觉层次位于下层的ViewGroup实例添加到根容器中,然后将视觉层次覆盖在上层的ViewGroup实例添加到根容器中。
作为一种实施例,所述的动作补间动画的自动生成方法,还包括,由应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。
作为一种实施例,所述的步骤S201还包括以下过程:判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。
作为一种实施例,所述的动作补间动画的自动生成方法,还包括,应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。
作为一种实施例,所述的动作补间动画的自动生成方法,还包括,将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。
另一方面,本发明还提供一种动作补间动画的自动生成***,该自动生成***包括:
转化模块:用于将动作补间动画转化为动作补间动画描述文件;
建立模块:用于建立动作补间动画生成框架;
生成模块:用于将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
作为一种实施例,所述的转化模块包括:
拆解子模块:用于将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项;
动作补间动画描述文件模板:动作补间动画描述文件模板包含物体、属性和关键帧;
转化子模块:用于将拆解子模块的输出项输入动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应拆解后的图片。
作为一种实施例,所述的建立模块包括:
实例列表生成子模块:用于生成界面控件实例列表和动画实例列表;
组装子模块:用于将界面控件实例列表组装出界面;
框架生成子模块:用于将界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
作为一种实施例,所述的实例列表生成子模块,还用于判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。
作为一种实施例,所述的动作补间动画的自动生成***,还包括:
触控模块:用于利用应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。
作为一种实施例,所述的动作补间动画的自动生成***,还包括监听模块:用于应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。
有益效果:与现有技术相比,本发明具有以下有益效果:本发明通过将动作补间动画转化为动作补间动画描述文件,将动作补间动画描述文件输入动作补间动画生成框架中,实现动作补间动画的自动生成。在这一过程中,无需对不同的动作补间动画编写程序,只需将不同的动作补间动画转化为动作补间动画描述文件,再输入同一个动作补间动画生成框架中,即可用于不同的动作补间动画的生成。本发明的自动化生成框架,可以在多程序内进行复用,一次开发永久使用,减少了开发者的编码工作,提高了开发效率。
附图说明
图1是本发明实施例1的一种流程框图。
图2是本发明实施例1的一种数据流图。
图3是本发明实施例1中步骤S10的流程框图。
图4是本发明实施例1中步骤S20的流程框图。
图5是本发明实施例2的结构框图。
具体实施方式
下面结合附图,通过实施例对本发明进行说明。
本发明涉及动作补间动画。从动作补间动画中可提取物体、属性、关键帧三要素,本发明实施例中的框架是以物体、属性、关键帧三要素的自动化处理为输入和构建前提。
实施例1
如图1所示,本发明的一种动作补间动画的自动生成方法,包括以下过程:
S10将动作补间动画转化为动作补间动画描述文件;
S20建立动作补间动画生成框架;
S30将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
本实施例通过上述三个步骤,实现了不同的动作补间动画的自动生成,不需要针对不同的动作补间动画分别编写程序来实现动画的生成。本实施例主要涉及动作补间动画的程序自动化生成。根据程序自动化生成的理念,定义一套解析和生成框架。这样对于视觉设计人员和程序开发人员,只需要商榷动画本身和定义一个描述文件,即能够达到动画程序的自动生成。本实施例建立的框架用于完成从设计人员制作的动作补间动画到触屏手机程序的自动转换。触屏手机可采用android操作***。框架基于该android操作***来实现。
在本实施例中,将动作补间动画转化为动作补间动画描述文件。不同的动作补间动画,对应不同的动作补间动画描述文件。作为一种优选方法,如图3所示,步骤S10包括以下过程:
S101将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项。
S102建立动作补间动画描述文件模板,该动作补间动画描述文件模板包含物体、属性和关键帧。关键帧包括一组由(帧号,值)表示的数据。
S103将S101的输出项输入S102建立的动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应步骤S101中拆解后的图片。
通过上述三个步骤,将动作补间动画分别描述为动作补间动画描述文件。动作补间动画描述文件模板包含的要素是固定的,分别为物体、属性和关键帧。这不会因为动作补间动画的不同而改变。动作补间动画描述文件模板可采用结构性的标记语言,例如,XML文件。步骤S101将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧。步骤S101将动作补间动画分解为图片、属性和关键帧三个要素。步骤S102建立动作补间动画描述文件模板,确定了不同的动作补间动画都将转化为同一模板下的不同文件,使得不同的动作补间动画具有了相同的要素。虽然不同的动作补间动画对应不同的动作补间动画描述文件,但是动作补间动画描述文件包含的内容是一致的,都包含物体、属性和关键帧三个要素。这样,不同的动作补间动画,对应动作补间动画描述文件中三个要素的不同。
下面例举一动作补间动画描述文件示例。该动作补间动画描述文件为XML格式。
上述动作补间动画描述文件示例中,第一行为XML的固定格式标记,第二行表示该节点代表动画本身,用于指定动画自身的属性。第三行表示指定动画的高度,第四行表示动画的宽度,第五行表示物体节点,第六行表示给该物体取个名字,第七行表示该物体的动画结束帧,第八行表示涉及旋转、缩放,要指定操作中心点x坐标,第九行表示操作中心点y坐标,第十行表示指定物体对应的图片,第十一行表示该物体的动画起始帧,第十二行表示物体动画展示的帧速率,该物体是每秒25帧,第十三行表示属性节点,该属性是透明度属性,第十四行表示关键帧节点,第十五行表示第0帧,第十六行表示透明度为0.5,第十七行表示关键帧节点,第十八行表示第60帧,第十九行表示透明度为0.5,第二十行表示关键帧节点,第二十一行表示第79帧,第二十二行表示透明度为0,第二十三行为XML的固定格式标记,表示该节点到此结束,第二十四行为XML的固定格式标记,表示该节点到此结束。第二十五行为XML的固定格式标记,表示该节点到此结束。
作为一种优选方法,如图4所示,所述的步骤S20包括以下过程:
S201生成界面控件实例列表和动画实例列表。
S202根据S201生成的界面控件实例列表,组装出界面。
S203将S202组装的界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
在步骤201中,生成界面控件实例列表的过程为:首先判断是否存在物体的位移和旋转跟随另一个物体而改变,如果是,则被跟随的物体解析为ViewGroup类型,发生跟随的物体解析为ImageView类型,并将ImageView实例通过父子关系添加到ViewGroup实例中;如果否,则将每个物体解析为一ImageView类型;其次,将所有ImageView实例和ViewGroup实例进行集合,生成界面控件实例列表。例如,设有四个物体[a,b,c,d],当不存在跟随时,控件实例列表中实例的类型分别为[ImageView,ImageView,ImageView,ImageView],界面的父子关系为[无,无,无,无];当c和d的位移和旋转跟随a改变时,控件实例列表中实例的类型分别为[ViewGroup,ImageView,ImageView,ImageView],界面的父子关系为[无,无,a的儿子,a的儿子];当d的位移和旋转跟随a改变,b的位移和旋转跟随c改变时,控件实例列表中实例的类型分别为[ViewGroup,ImageView,ViewGroup,ImageView],界面的父子关系为[无,c的儿子,无,a的儿子]。
生成动画实例列表的过程为:关键帧生成Keyframe实例,属性和Keyframe实例通过PropertyValuesHolder接口关联,然后将物体和PropertyValuesHolder接口用ObjectAnimator实例关联,最后将所有的ObjectAnimator实例通过AnimatorSet实例集合保存,生成动画实例列表。
相对于直接把设计人员开发的动画拿出来播放,本实施例生成动画实例列表,以支持程序生成的动画适配不同的屏幕尺寸,同时在动画播放的过程中,用户可以与动画中的物体直接进行交互,比如进行点击、拖动,能与程序的其他界面展现部分无缝集成。
作为一种优选方案,步骤S202的过程为:首先,判断界面控件实例是否存在父节点,如果是,则将界面控件实例添加到其父节点的ViewGroup实例中;如果否,则将界面控件实例添加进根容器中;其次,将父节点的ViewGroup实例也添加到根容器中,按层次关系组装界面控件实例,生成界面。
界面控件实例添加进根容器中的过程为:先将视觉层次位于下层的界面控件实例添加到根容器中,然后将视觉层次覆盖在上层的界面控件实例添加到根容器中。界面控件实例添加到其父节点的ViewGroup实例中的过程为:先将视觉层次位于下层的界面控件实例添加到ViewGroup实例中,然后将视觉层次覆盖在上层的界面控件实例添加到ViewGroup实例中。父节点的ViewGroup实例添加到根容器的过程为:先将视觉层次位于下层的ViewGroup实例添加到根容器中,然后将视觉层次覆盖在上层的ViewGroup实例添加到根容器中。
针对目前应用开发者对于动画展现,主要使用专门的动画播放插件来解决,但是这种实现方式,让用户无法操作动画中的物体,使得动画播放和物体操控相分离,无法解决应用的一些客观需求。为解决该问题,本实施例优选一种下述方案,所述的动作补间动画的自动生成方法还包括,由应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。本步骤中,通过设置展现动画且支持触控的物体,使得外界可以对动画中的物体进行控制(包括但不限于点击、长按、拖拽、声光反馈),实现互动。此时,根容器由应用预先创建。将展现动画且支持触控的物体预先添加到根容器中,然后再提供给动作补间动画生成框架,用于添加其他动画物体。当实施例选择此步骤时,步骤S201还包括以下过程:判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。如上所示,用于展现动画且支持触控的物体由应用预先创建,并绑定到界面上。
图2为本实施例的数据流图。图中,实线方框表示***外部实体(输入、输出);圆形表示对数据进行处理;箭头表示数据处理模块间流动的数据;两条平行线表示固有数据存储实体,如文件、数据库;云表示非固有数据存储实体,如内存。由***外部实体制作动作补间动画,将制成的动作补间动画进行拆解,拆解成物体和对应物体的若干关键帧。由程序员编写XML文件,来描述补间动画,形成补间动画描述文件。补间动画包含三种节点:物体节点、属性节点和关键帧节点。一个物体节点可以包含多个属性,一个属性节点可以包含多个关键帧。自动化解析程序,根据描述文件,自动生成界面控件实例列表和动画实例列表。根据界面控件实例列表自动组装界面,将组装的界面添加到界面绘制程序中,动画实例列表集中绑定一套逻辑起停,形成可运行的动画程序。
作为一种优选方案,所述的动作补间动画的自动生成方法还包括,应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。当动画支持外界对画面中的物体进行触控时,动画一旦启动,即不可对动画物体进行触控,只有在启动前或者停止后才可操作。当动画启动时,应用获知动画启动,即可根据应用自身的需求屏蔽用户对于界面其他部分的触控。当动画播放结束,应用可以立即根据自身需求进行例如界面跳转,弹框提示,数据更新等操作,与动画无缝衔接。被集成的动画能与用户进行交互,是因为通过框架从动画中分解出了物体,并将物体生成了平台相关的控件实例列表,从而可以通过平台自身的机制,能够对控件进行交互。
作为一种优选方案,所述的动作补间动画的自动生成方法还包括,将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。由于终端的屏幕尺寸大小是不相同的,所以在不同的终端上播放相同的动作补间动画时,需要将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。这样就能够保证相同的动作补间动画,在不同尺寸的动画显示区域得到清晰的播放。同时相对于直接把设计人员开发的动画拿出来播放,程序生成的动画可以适配不同的屏幕尺寸。
实施例2
如图4所示,一种动作补间动画的自动生成***,包括:
转化模块:用于将动作补间动画转化为动作补间动画描述文件;
建立模块:用于建立动作补间动画生成框架;
生成模块:用于将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
本实施例中,转化模块将动作补间动画转化为动作补间动画描述文件。动作补间动画采用动作补间动画描述文件的方式进行描述。建立模块建立动作补间动画生成框架。将动作补间动画描述文件输入动作补间动画生成框架中,即可生成动作补间动画。这样,对于不同的动作补间动画,只需要将其变为动作补间动画描述文件,然后输入动作补间动画生成框架中,即可生成动作补间动画。而不需针对不同的动作补间动画分别编写程序来实现动画的生成。通过同一动作补间动画生成框架,输入不同的动作补间动画描述文件,实现不同动作补间动画的生成。
作为一种优选方案,如图5所示,转化模块包括:拆解子模块:用于将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项。动作补间动画描述文件模板:动作补间动画描述文件模板包含物体、属性和关键帧。转化子模块:用于将拆解子模块的输出项输入动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应拆解后的图片。
通过上述三个子模块,将动作补间动画分别描述为动作补间动画描述文件。
拆解子模块将各动作补间动画拆解成图片,并确定图片中包含的属性和关键帧两个要素。动作补间动画描述文件模板用于生成动作补间动画描述文件。动作补间动画描述文件模板包含物体、属性和关键帧三个要素。将拆解子模块得到的图片,以及图片中包含的属性和关键帧输入到动作补间动画描述文件模板中,得到动作补间动画描述文件。虽然不同的动作补间动画对应不同的动作补间动画描述文件,但是动作补间动画描述文件包含的内容是一致的,都包含物体、属性和关键帧三个要素。这样,不同的动作补间动画,对应动作补间动画描述文件中三个要素不同。
作为一种优选方案,如图5所示,所述的建立模块包括:实例列表生成子模块:用于生成界面控件实例列表和动画实例列表。组装子模块:用于将界面控件实例列表组装出界面。框架生成子模块:用于将界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
实例列表生成子模块包括界面控件实例列表生成单元和动画实例列表生成单元。
界面控件实例列表生成单元用于生成界面控件实例列表。具体过程为:首先,判断是否存在物体的位移和旋转跟随另一个物体而改变,如果是,则被跟随的物体解析为ViewGroup类型,发生跟随的物体解析为ImageView类型,并将ImageView实例通过父子关系添加到ViewGroup实例中;如果否,则将每个物体解析为一ImageView类型;其次,将所有ImageView实例和ViewGroup实例进行集合,生成界面控件实例列表。
动画实例列表生成单元用于生成动画实例列表。具体过程为:关键帧生成Keyframe实例,将属性和Keyframe实例通过PropertyValuesHolder接口关联,然后将物体和PropertyValuesHolder接口用ObjectAnimator实例关联,最后将所有的ObjectAnimator实例通过AnimatorSet实例集合保存,生成动画实例列表。
作为一种优选的实施例,所述的组装子模块包括判断单元和添加单元。判断单元:用于判断界面控件实例是否存在父节点,如果是,则将界面控件实例添加到其父节点的ViewGroup实例中;如果否,则将界面控件实例添加进根容器中。添加单元,用于将父节点的ViewGroup实例添加到根容器中,按层次关系组装界面控件实例,生成界面。
作为一种优选的实施例,所述的动作补间动画的自动生成***还包括:触控模块:用于利用应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。通过设置展现动画且支持触控的物体,使得外界可以对动画中的物体进行控制,实现互动。此时,根容器由应用预先创建。将展现动画且支持触控的物体预先添加到根容器中,然后再提供给动作补间动画生成框架,用于添加其他动画物体。
当实施例此选择触控模块时,上述界面控件实例列表生成单元,还用于判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。如上所述,用于展现动画且支持触控的物体由应用预先创建,并绑定到界面上,不需要单独生成界面控件实例添加到界面控件实例列表中。
作为一种优选方案,所述的动作补间动画的自动生成***还包括,监听模块:用于应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。当动画支持外界对画面中的物体进行触控时,本实施例在框架绑定***,利用***监听动画的起停状态变化,协同动画与应用之间的工作。动画一旦启动,即不可对动画物体进行触控,只有在启动前或者停止后才可操作。当动画启动时,应用获知动画启动,即可根据应用自身的需求屏蔽用户对于界面其他部分的触控。当动画播放结束,应用可以立即根据自身需求进行例如界面跳转,弹框提示,数据更新等操作,与动画无缝衔接。这样,在动画播放的过程中,用户可以与动画中的物体直接进行交互,比如进行点击、拖动,能与程序的其他界面展现部分无缝集成。
作为一种优选方案,所述的动作补间动画的自动生成***还包括,放缩模块:用于将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。由于终端的屏幕尺寸大小是不相同的,所以在不同的终端上播放相同的动作补间动画时,需要将属性中的位置坐标属性按照动画显示区域的长宽与动画固有长宽的比例进行等比例放大或缩小。这样就能够保证相同的动作补间动画,在不同尺寸的动画显示区域得到清晰的播放。如手机上动画显示区域的固有长宽为1280x720,而实际手机需要在1440x1280的全屏幕范围显示动画,则所有位置坐标属性(如移动的位置坐标和物体的中心点坐标),按照放大比例进行等比例放大,其他属性不变。相对于现有技术中直接把视觉开发的动画拿出来播放,本实施例程序生成的动画可以适配不同的屏幕尺寸。
同时,动作补间动画生成框架方便有效的控制动画运行时的内存占比,具有低内存消耗的优点,也方便在动画过程中使用硬件加速提高性能。以一个1024x768屏幕展示的全屏动画为例,按照单像素ARGB表示占4Byte。普通的展示方法,单帧加载的内存消耗为1024x768x4B=3145728B=3MB,带帧缓冲的展示方式运行时内存消耗平均在10MB以上。而该框架将物体分解为控件,通过界面组装的方式展示,Android平台的验证结果,内存消耗在1MB以下。
本领域技术人员应该知晓,实现上述实施例的方法或者***,可以通过计算机程序指令来实现。该计算机程序指令装载到可编程数据处理设备上,例如计算机,从而在可编程数据处理设备上执行相应的指令,用于实现上述实施例的方法或者***实现的功能。
本领域技术人员依据上述实施例,可以对本申请进行非创造性的技术改进,而不脱离本发明的精神实质。这些改进仍应视为在本申请权利要求的保护范围之内。

Claims (15)

1.一种动作补间动画的自动生成方法,其特征在于,该生成方法包括以下过程:
S10将动作补间动画转化为动作补间动画描述文件;
S20建立动作补间动画生成框架;
S30将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
2.按照权利要求1所述的动作补间动画的自动生成方法,其特征在于,所述的步骤S10包括以下过程:
S101将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项;
S102建立动作补间动画描述文件模板,该动作补间动画描述文件模板包含物体、属性和关键帧;
S103将S101的输出项输入S102建立的动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应步骤S101中拆解后的图片。
3.按照权利要求1所述的动作补间动画的自动生成方法,其特征在于,所述的步骤S20包括以下过程:
S201生成界面控件实例列表和动画实例列表;
S202根据S201生成的界面控件实例列表,组装出界面;
S203将S202组装的界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
4.按照权利要求3所述的动作补间动画的自动生成方法,其特征在于,所述的步骤S201中,生成界面控件实例列表的过程为:首先判断是否存在物体的位移和旋转跟随另一个物体而改变,如果是,则被跟随的物体解析为ViewGroup类型,发生跟随的物体解析为ImageView类型,并将ImageView实例通过父子关系添加到ViewGroup实例中;如果否,则将每个物体解析为一ImageView类型;其次,将所有ImageView实例和ViewGroup实例进行集合,生成界面控件实例列表。
5.按照权利要求3所述的动作补间动画的自动生成方法,其特征在于,所述的步骤S201中,生成动画实例列表的过程为:关键帧生成Keyframe实例,属性和Keyframe实例通过PropertyValuesHolder接口关联,然后将物体和PropertyValuesHolder接口用ObjectAnimator实例关联,最后将所有的ObjectAnimator实例通过AnimatorSet实例集合保存,生成动画实例列表。
6.按照权利要求3所述的动作补间动画的自动生成方法,其特征在于,所述的步骤S202的过程为:首先,判断界面控件实例是否存在父节点,如果是,则将界面控件实例添加到其父节点的ViewGroup实例中;如果否,则将界面控件实例添加进根容器中;其次,将父节点的ViewGroup实例也添加到根容器中,按层次关系组装界面控件实例,生成界面。
7.按照权利要求6所述的动作补间动画的自动生成方法,其特征在于,所述的步骤S202中,界面控件实例添加进根容器中的过程为:先将视觉层次位于下层的界面控件实例添加到根容器中,然后将视觉层次覆盖在上层的界面控件实例添加到根容器中;
界面控件实例添加到其父节点的ViewGroup实例中的过程为:先将视觉层次位于下层的界面控件实例添加到ViewGroup实例中,然后将视觉层次覆盖在上层的界面控件实例添加到ViewGroup实例中;
父节点的ViewGroup实例添加到根容器的过程为:先将视觉层次位于下层的ViewGroup实例添加到根容器中,然后将视觉层次覆盖在上层的ViewGroup实例添加到根容器中。
8.按照权利要求1所述的动作补间动画的自动生成方法,其特征在于,还包括,由应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。
9.按照权利要求3所述的动作补间动画的自动生成方法,其特征在于,还包括,所述的步骤S201还包括以下过程:判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。
10.一种动作补间动画的自动生成***,其特征在于,该自动生成***包括:
转化模块:用于将动作补间动画转化为动作补间动画描述文件;
建立模块:用于建立动作补间动画生成框架;
生成模块:用于将动作补间动画描述文件输入动作补间动画生成框架中,生成动作补间动画。
11.按照权利要求10所述的动作补间动画的自动生成***,其特征在于,所述的转化模块包括:
拆解子模块:用于将动作补间动画拆解为多张图片,并确定每张图片中包含的属性和关键帧,将图片、属性和关键帧作为输出项;
动作补间动画描述文件模板:动作补间动画描述文件模板包含物体、属性和关键帧;
转化子模块:用于将拆解子模块的输出项输入动作补间动画描述文件模板中,转化为动作补间动画描述文件,其中,物体对应拆解后的图片。
12.按照权利要求10所述的动作补间动画的自动生成***,其特征在于,所述的建立模块包括:
实例列表生成子模块:用于生成界面控件实例列表和动画实例列表;
组装子模块:用于将界面控件实例列表组装出界面;
框架生成子模块:用于将界面添加到应用前台中,将动画实例列表集中绑定一套逻辑起停,建立动作补间动画生成框架。
13.按照权利要求12所述的动作补间动画的自动生成***,其特征在于,所述的实例列表生成子模块,还用于判断物体是否已由外部应用创建,如果是,则直接将此物体对应的界面控件实例添加到界面控件实例列表中;如果否,则生成界面控件实例,再添加到界面控件实例列表中。
14.按照权利要求10所述的动作补间动画的自动生成***,其特征在于,还包括:
触控模块:用于利用应用创建根容器和展现动画且支持触控的物体,并将其先行绑定到界面,根容器用于添加展现动画且支持触控的物体,然后再提供给动作补间动画生成框架,用于添加展现动画的物体。
15.按照权利要求10至14中任何一项所述的动作补间动画的自动生成***,其特征在于,还包括监听模块:用于应用对框架绑定***,获知动画起停状态变化,从而协同动画与应用之间的工作。
CN201510203284.9A 2015-04-24 2015-04-24 一种动作补间动画的自动生成方法及自动生成*** Active CN106157349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510203284.9A CN106157349B (zh) 2015-04-24 2015-04-24 一种动作补间动画的自动生成方法及自动生成***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510203284.9A CN106157349B (zh) 2015-04-24 2015-04-24 一种动作补间动画的自动生成方法及自动生成***

Publications (2)

Publication Number Publication Date
CN106157349A true CN106157349A (zh) 2016-11-23
CN106157349B CN106157349B (zh) 2019-06-25

Family

ID=57346439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510203284.9A Active CN106157349B (zh) 2015-04-24 2015-04-24 一种动作补间动画的自动生成方法及自动生成***

Country Status (1)

Country Link
CN (1) CN106157349B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7342586B2 (en) * 2004-09-13 2008-03-11 Nbor Corporation System and method for creating and playing a tweening animation using a graphic directional indicator
CN101833447A (zh) * 2010-04-08 2010-09-15 广东欧珀移动通信有限公司 一种利用补间动画实现桌面Widget动画的方法
CN102169594A (zh) * 2010-02-26 2011-08-31 新奥特(北京)视频技术有限公司 一种实现任意区域渐变动画的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7342586B2 (en) * 2004-09-13 2008-03-11 Nbor Corporation System and method for creating and playing a tweening animation using a graphic directional indicator
CN102169594A (zh) * 2010-02-26 2011-08-31 新奥特(北京)视频技术有限公司 一种实现任意区域渐变动画的方法和装置
CN101833447A (zh) * 2010-04-08 2010-09-15 广东欧珀移动通信有限公司 一种利用补间动画实现桌面Widget动画的方法

Also Published As

Publication number Publication date
CN106157349B (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
US11640492B2 (en) System and method providing responsive editing and viewing, integrating hierarchical fluid components and dynamic layout
CN110007917B (zh) 一种基于浏览器的可视化页面生成和浏览方法
KR101456506B1 (ko) 웹 어플리케이션 저작도구 및 저작 방법
EP4044604A1 (en) Video special effect processing method and apparatus, and electronic device
RU2420806C2 (ru) Плавные переходы между анимациями
CN102866886A (zh) 一种基于Web的算法动画可视化开发***
ZA200404107B (en) Creating and executing animation behaviour for GUI.
CN105094832A (zh) 一种所见即所得的动态生成用户界面的方法和***
RU2004114219A (ru) Система для обеспечения хостинга объектов графической компоновки/представления
CN101681523A (zh) 用于动画显示数据项的显示表示的方法和***
CN108614693B (zh) 一种针对页面组件的处理方法、装置及设备
CN109471580B (zh) 一种可视化3d课件编辑器及课件编辑方法
CN113326044A (zh) 一种基于控件库的开发方法、***及存储介质
CN115495069A (zh) 基于模型驱动的煤炭工业软件流程实现方法、装置及设备
CN112188292B (zh) 一种基于安卓操作***的电视桌面构建方法
CN116909553A (zh) 一种页面在线开发及本地编译运行***
CN111897530B (zh) 基于ue4平台的ui***及方法
CN106157349A (zh) 一种动作补间动画的自动生成方法及自动生成***
US10579713B2 (en) Application Markup language
CN111522546B (zh) 一种页面的生成方法、相关装置及前端页面
KR20180047200A (ko) 스프라이트 그래픽 제작 장치 및 방법
CN112685494A (zh) 一种数据可视化方法、装置、设备及介质
CN117806755A (zh) 组件的处理方法、装置、存储介质及电子装置
BR112021023257B1 (pt) Sistema de construção de site da web e método para um sistema de construção de site da web
Fei et al. Personalized Customization on Science and Technology Intelligence

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 210042 Suning Headquarters, No. 1 Suning Avenue, Xuanwu District, Nanjing City, Jiangsu Province

Applicant after: Suning.com group Limited by Share Ltd

Address before: 210042 Suning Headquarters, No. 1 Suning Avenue, Xuanwu District, Nanjing City, Jiangsu Province

Applicant before: Yun Shang Group Plc of Suning

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING GROUP Co.,Ltd.

Address before: 210042 Nanjing Province, Xuanwu District, Jiangsu Suning Avenue, Suning headquarters, No. 1

Patentee before: SUNING GROUP Co.,Ltd.

CP02 Change in the address of a patent holder