CN102289835A - 微动画效果查看方法及装置 - Google Patents
微动画效果查看方法及装置 Download PDFInfo
- Publication number
- CN102289835A CN102289835A CN2011102534211A CN201110253421A CN102289835A CN 102289835 A CN102289835 A CN 102289835A CN 2011102534211 A CN2011102534211 A CN 2011102534211A CN 201110253421 A CN201110253421 A CN 201110253421A CN 102289835 A CN102289835 A CN 102289835A
- Authority
- CN
- China
- Prior art keywords
- label
- fine motion
- scene
- data model
- execution
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种微动画效果查看方法及装置,其中方法包括:读取微动画的XML配置文件;XML配置文件包括用于描述待形成的微动画场景以及微动画场景中的各元素的属性的标签;解析所述XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值;利用预设的与所述操作系统相匹配的微动画代码获取所述数据模型中对象的变量的值;加载获取了所述数据模型中对象的变量的值之后的所述微动画代码,从而使得在所述处理设备中形成微动画场景及微动画场景中的各种元素。本发明提供的方法及装置,使得编辑人员方便地在预设操作系统上浏览微动画应用软件效果,简化了调试过程,提高了软件开发效率,减少了软件开发所需时间。
Description
技术领域
本发明涉及微动画技术,尤其涉及一种微动画效果查看方法及装置。
背景技术
动画是经由创作者的安排,使原本不具生命的东西像获得生命一般的活动。所以动画是让整幅图片都活动起来。而所谓微动画,区别于动画产品,是在动画中的某个局部位置进行动作的动画产品。
微动画应用软件开发过程中,编辑人员可以配置微动画中的场景、精灵以及按钮等的属性。然后,编程人员可以根据编辑人员配置的场景、精灵以及按钮等的属性编写能够被某种操作系统识别的代码,形成微动画应用软件。
在微动画应用软件开发过程中存在如下问题:
为了使得微动画应用软件能够在不同的操作系统上运行,例如在iOS系统或者Android系统上运行,编程人员需要分别形成能够被iOS系统或者Android系统识别的代码。而且,需要在使用iOS系统或者使用Android系统的手机或电脑上才能看到微动画应用软件的效果。经过如此复杂的过程之后,编辑人员才能看到微动画的效果,这样,给编辑人员查看微动画效果带来了极大的不便。
另外,如果在使用iOS系统或者使用Android系统的手机或电脑上运行后,发现微动画应用软件存在某些设计上的不足,则需要编辑人员重新修改场景、精灵以及按钮等的属性,再由编程人员重新生成程序,如此反复修改来查看微动画应用软件的效果。一方面增加了软件开发所需的时间,另一方面导致编辑人员和编程人员反复修改,调试过程复杂,软件开发的效率低。
发明内容
本发明针对现有技术存在的问题,提供一种微动画效果查看方法及装置,能够使得编辑人员方便地在预设操作系统上浏览微动画应用软件效果,简化调试过程,提高软件开发效率,减少软件开发所需时间。
本发明提供了一种微动画效果查看方法,包括:
读取微动画的XML配置文件;所述XML配置文件包括用于描述待形成的微动画场景以及微动画场景中的各元素的属性的标签;
解析所述XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值;
利用预设的与所述操作系统相匹配的微动画代码获取所述数据模型中对象的变量的值;
加载获取了所述数据模型中对象的变量的值之后的所述微动画代码,从而使得在所述处理设备中形成微动画场景及微动画场景中的各种元素。
本发明还提供了一种微动画效果查看装置,具有一操作系统,包括:
读取模块,用于读取微动画的XML配置文件;所述XML配置文件包括用于描述待形成的微动画场景以及微动画场景中的各元素的属性的标签;
解析模块,用于解析所述XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值;
第一处理模块,用于利用预设的与所述操作系统相匹配的微动画代码获取所述数据模型中对象的变量的值;
加载模块,用于加载获取了所述数据模型中对象的变量的值之后的所述微动画代码,从而使得在该微动画效果查看装置中形成微动画场景及微动画场景中的各种元素。
本发明提供的微动画效果查看方法,对于具有一预设操作系统的处理设备来说,通过解析反映微动画场景中各元素的属性的XML配置文件,为预先建立的数据模型中各对象的变量赋值,利用预设的与该处理设备的操作系统相匹配的微动画代码获取数据模型中对象的变量的值,加载微动画代码使得在处理设备中形成微动画场景及微动画场景中的各种元素。编辑人员无需依靠编程人员形成应用于特定操作系统(例如iOS系统或Android系统)的代码,而是借助于预先获取的与编辑人员当前所使用的预设操作系统相匹配的微动画代码即可以查看微动画效果。这样,编辑人员无需在特定操作系统(iOS或者Android)上查看微动画效果,而是可以在通常的windows等操作系统上查看微动画效果。
另外,编辑人员通过在他所使用的处理设备上运行能够实现本发明提供的微动画效果查看方法的指令,可以形成微动画场景。如果发现微动画场景或者微动画场景中的各元素存在某种设计缺陷,可以通过修改微动画场景或微动画场景中的各元素的属性,即,生成新的XML配置文件,来查看修改后的微动画效果,而无需交由编程人员修改代码来查看修改后的微动画效果,在调试阶段编辑人员几乎无需与编程人员交互,简化了调试过程,提高了软件开发的效率。
通过以下参照附图对优选实施例的说明,本发明的上述以及其它目的、特征和优点将更加明显。
附图说明
图1示例性示出了本发明微动画效果查看方法实施例一的流程图;
图2示例性示出了本发明中涉及到的微动画中的各种元素的层次结构示意图;
图3示例性示出了本发明的实施例中<play>标签的解析流程;
图4示例性示出本发明的实施例中<scene>标签的解析流程;
图5示例性示出了本发明的实施例中<scene>标签的子标签<menus>的解析流程;
图6示例性示出了本发明的实施例中<scene>标签的子标签<labels>的解析流程;
图7示例性是出了本发明的实施例中<scene>标签的子标签<sprites>的解析流程;
图8示例性示出了本发明的实施例中<group>标签的解析流程;
图9示例性示出了本发明的实施例中<action>标签的解析流程;
图10示例性示出了本发明微动画效果查看方法实施例二的流程图;
图11示例性示出了本发明的实施例中微动画场景的一个例子;
图12示例性示出了本发明微动画效果查看装置的结构示意图。
具体实施方式
图1示例性示出了本发明微动画效果查看方法实施例一的流程图,该方法可以应用于具有一预设操作系统的处理设备,包括:
步骤101、读取微动画的XML配置文件。该XML配置文件包括用于描述待形成的微动画场景以及微动画场景中的各元素的属性的标签。
具体地,该XML配置文件可以包括场景标签,场景标签的子标签可以包括用于描述微动画的运动物体标签、界面文字标签和按钮标签中的至少一个。在二维计算机图形中,运动物体常被称为“精灵”,一个精灵是一个有位置的图像,每个帧之间的精灵的位置或者角度稍有改变,使得精灵看起来像在动。在下文中,将这种微动画中的运动物体采用“精灵”这一术语来描述。
XML配置文件可以是预先形成的,例如,可以由编辑人员预先人工编辑好描述待形成的微动画场景以及微动画场景中各元素的属性的XML配置文件,或者也可以根据一些微动画设计程序自动生成XML配置文件。
步骤102、解析XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值。
在解析XML配置文件时,可以依照XML配置文件中各标签的层次结构来解析,具体可以包括:读取XML配置文件的场景标签,获取场景标签的属性值,并利用场景标签的属性值为数据模型中与场景标签对应的对象的变量赋值;读取XML配置文件中的场景标签的各子标签的属性值以及各子标签的下一层子标签的属性值,利用获取的属性值为数据模型中对应的对象的变量赋值。
根据本发明的一个实施例,可以预先人工建立一个数据模型,该数据模型包括多个对象,数据模型中的各对象分别对应于XML配置文件中的各个标签和属性,各对象均配置有自己的变量。该数据模型中各对象之间的继承关系与XML配置文件中各标签的继承关系一致。
初始建立的数据模型中,各对象的变量还没有赋值或者是系统默认值,在解析完XML配置文件后,可以利用解析出的XML配置文件的属性值为各对象的变量赋值。
如下是一个XML配置文件的例子:
这段XML配置文件中,<menu>的属性包括zIndex、fontSize、position等,<menu>标签包括子标签<item>,<item>也包括自身的属性,例如normalImage、isEnable、tag等。
预先建立的数据模型示例如下:
该数据模型中,对象Menu与XML配置文件中的标签<menu>对应,Menu对象中定义了tag_、position_、fontSize_等变量,这些变量分别与XML配置文件中的属性tag、position和fontSize等对应。
在执行步骤102之前,数据模型中各变量均未赋值或者是系统默认值,在执行步骤102之后,各变量的值就变为XML配置文件中的各属性值。例如,数据模型中,赋值后fontSize_=25,position_={47,47}。
该数据模型中包括对象Menu,该对象中定义了一个列表对象CCMutableArray<CCObject*>*menuItemSet_,该列表对象中包括item对象。在该数据模型中体现了对象item与Menu对象之间的继承关系,与XML配置文件中<item>标签与<menu>标签之间的继承关系是一致的。
步骤103、利用预设的与该预设操作系统相匹配的微动画代码获取数据模型中对象的变量的值。
在本发明的实施例中,预设操作系统指的是编辑人员在编辑微动画时所使用的操作系统。例如,如果编辑人员使用windows系统编辑微动画,形成XML配置文件,则预设操作系统为windows系统。
可以预先人工编写与预设操作系统相匹配的微动画代码,预先编写的微动画代码通过获取数据模型中变量的值,即可以在预设操作系统中形成微动画场景。微动画代码与预设操作系统匹配是指该微动画代码可以通过在预设操作系统中运行而形成微动画。
如下是一段预先获取的与windows系统相匹配的微动画代码的例子:
例如,在上述代码中,通过get函数可以获取BackgroundPic、BackgroundSound、Music等这些变量的值,通过generateCCAction(sprite)这一函数可以生成精灵默认动作。
需要注意的是,上述的微动画代码的例子并非创建微动画场景的全部代码,是为了说明书微动画代码如何获取数据模型的对象的变量的值而给出的一个例子。
本申请的实施例中,微动画代码相当于一个代码框架,可以包括用于创建场景的代码,还可以包括用于生成精灵的代码、用于生成界面文字的代码和用于生成按钮的代码中的至少一种。如果数据模型中的变量还没有赋值,则这个代码框架无法获取变量的值,也就无法生成微动画。在通过解析XML配置文件将数据模型中各对象的变量赋值后,这个代码框架就可以通过调用函数或变量,生成微动画。
为了使得预先编写的微动画代码能够适用于各种情况的XML配置文件,该微动画代码可以预先包括尽可能多的微动画元素(例如精灵、文字、音乐等)创建模块,这样,无论编辑人员如何更改XML配置文件,只要获取了数据模型中的变量,即可以形成微动画。
步骤104、加载获取了数据模型中对象的变量的值之后的微动画代码,从而使得在处理设备中形成微动画场景及微动画场景中的各种元素。
例如,如果预设操作系统为windows系统,则在windows系统中加载该微动画代码,就可以在处理设备中形成微动画场景及微动画场景中的各种元素。
本发明提供的微动画效果查看方法,通过解析反映微动画的场景及微动画中各元素的属性的XML配置文件,为预先建立的数据模型中各对象的变量赋值,利用预先获取的与预设操作系统相匹配的微动画代码获取数据模型中对象的变量的值,加载微动画代码使得在具有预设操作系统的处理设备中形成微动画场景及微动画场景中的各种元素。编辑人员无需依靠编程人员形成应用于特定操作系统(例如iOS系统或Android系统)的代码,而是借助于预先获取的与编辑人员当前所使用的预设操作系统相匹配的微动画代码即可以查看微动画效果。这样,编辑人员无需在特定操作系统(iOS或者Android)上查看微动画效果,而是可以在通常的windows等操作系统上查看微动画效果。
另外,编辑人员通过在他所使用的处理设备上运行能够实现本发明提供的微动画效果查看方法的指令,可以形成微动画场景。如果发现微动画场景或者微动画场景中的各元素存在某种设计缺陷,可以通过修改微动画场景或微动画场景中的各元素的属性,即,生成新的XML配置文件,来查看修改后的微动画效果,而无需交由编程人员修改代码来查看修改后的微动画效果,在调试阶段编辑人员几乎无需与编程人员交互,简化了调试过程,提高了软件开发的效率。
本发明的实施例中,数据模型中各对象的继承关系与XML配置文件中各标签的继承关系一致,数据模型中各对象的变量反映了XML配置文件中各标签的属性,这样,数据模型的数据结构反映了XML配置文件的数据结构。预先建立的数据模型和微动画代码相当于为形成微动画搭建好了框架,在解析出XML配置文件中的属性值后,数据模型和微动画代码中的各变量即被赋予了能够体现编辑人员设计思路的值,加载微动画代码即可以形成微动画场景。在编辑人员调试阶段,无论XML配置文件如何更改,数据模型和微动画代码均可以不修改,只需要重新解析XML配置文件,重新获取变量的值即可。
可以看出,本发明提供的方法极大地方便了编辑人员查看微动画效果,提高了微动画应用软件开发效率。
下面结合具体的XML配置文件的例子来介绍本发明的实现过程。首先介绍本发明中涉及到的XML配置文件。
在微动画应用软件开发过程中,编辑人员可以配置微动画中的场景、精灵以及按钮等的属性,这些场景、精灵以及按钮等的属性可以包括在XML配置文件中。
编辑人员配置的微动画中的各种元素的层次如图2所示。在一个场景中可以包括精灵集合、界面文字集合和按钮集合。精灵集合可以包括一个或多个精灵,每个精灵可以对应于一个或多个动作集合,每个动作集合可以包括一个或多个动作。动作类型可以包括:移动到、移动至、缩放到、缩放至、摇摆、旋转、贝塞尔曲线、跳跃、循环播放等。每个界面文字集合可以包括一种或多种文字。每个按钮集合可以包括一种或多种按钮,每一种按钮可以包括一个或多个按钮项。
本发明中的XML配置文件中各个标签的设置也遵循上述的元素层次。下面详细介绍XML配置文件中各标签及其属性。
1、<play>标签
<play>标签可以是XML配置文件中最外层大标签。<play>标签的属性可以包括:name、width、height、configFilepath、picPath、musicPath、sceneHome、url和originType。
属性含义:
name——微动画名称
width——微动画屏幕的宽度
height——微动画屏幕的高度
configFilepath——场景配置文件文件夹名
picPath——图片保存文件夹名
musicPath——音乐保存文件夹名
sceneHome——首页场景名称
url——网络资源下载路径
originType——微动画屏幕的原点位置
<play>标签可以包括一个或多个子标签<scene>,<scene>为场景标签,属性包含name,该属性的含义是指场景名称,即存储的针对每个场景的XML配置文件的文件名。
<play>标签的属性配置的例子可以如下:
2、<scene>标签
<play>标签可以作为最外层大标签,设定微动画应用软件需要的系统条件。也可以将针对单个微动画场景中各元素的属性进行设置的<scene>标签作为最外层大标签。该<scene>标签不同于上述<play>标签的子标签<scene>。在XML配置文件中允许有名称相同的标签,名称相同的标签可以有不同的属性。
每个场景都有自己的场景图片、场景声音、场景音乐、翻页方式、进入时间、停留时间等。可以对这些属性进行个性化配置,以满足不同场景的展示效果。
<scene>标签的属性可以包括:id、delay、name、prev、next、backgroundPic、backgroundSound、music、tranTime、tranModePre和tranModeNext。
属性含义:
id——场景序号
delay——场景停留时间
name——场景名称
prev——上一场景名称
next——下一场景名称
backgroundPic——背景图片
backgroundSound——背景声音
music——背景音乐
tranTime——场景切换执行时间
tranModePre——向上一场景切换的方式
tranModeNext——向下一场景切换的方式
<scene>标签的属性配置的例子可以如下:
3、<sprites>标签
每个场景中可以有一个或多个精灵,每个精灵都可以有位置、精灵图片、精灵大小等属性,这些属性可以进行个性化配置。此外,每个精灵还可以包含动作类的子标签,从而使得精灵动作也可以根据需要进行配置以完成相应的效果。<sprite>标签是<sprites>标签的子标签。<sprites>标签是<scene>标签的子标签,表示一个精灵集合。<sprites>标签可以包括多个<sprite>标签。<sprite>标签的属性可以包括:name、imagePath、position、scale、zIndex、tag和opacity。
属性含义:
name——精灵名称
imagePath——精灵图片名称
position——精灵坐标
scale——精灵图片相对原始图片的大小
zIndex——精灵显示索引
tag——精灵标签
opacity——精灵透明度
下面介绍<sprite>标签中包含的子标签——动作配置标签。动作配置标签可以包括四种并列的子标签:
默认动作标签<actions>
点击动作标签<touch>
热区集合标签<miniTouchSet>
调用其他精灵动作标签<touchTrigger>
3.1、<touchTrigger>标签
<touchTrigger>标签可以包括属性:actionSprite和actionName。
属性含义:
actionSprite——被调用的动作精灵名
actionName——被调用的精灵的动作名
<touchTrigger>标签的属性配置的例子如下:
<touchTrigger actionSprite=″zhuomuniao″actionName=″running″/>
3.2、<miniTouchSet>标签
<miniTouchSet>标签可以包括属性:rect。
属性含义:
rect——第一个花括号内的坐标表示与精灵中心点位置的相对位置x坐标和y坐标,第二个花括号内的坐标表示热区区域的宽和高。
<miniTouchSet>标签属性配置的例子如下:
<miniTouch rect=″{{-10,80},{180,170}}″>。
4、动作组标签<group>
<actions>、<miniTouchSet>及<touch>标签下面都可以包括动作组来完成相应动作的配置。
<group>标签可以包括属性:type、repeatCount、actionName、touchScreenlazyTime。
属性含义:
type——动作组类型,分为sequence(顺序执行)和spawn(同时执行)两种
repeatCount——动作组重复执行的次数
actionName——组动作名称,默认为default,如被其他精灵调用则修改为相应的名称(可以只是作为<touch>标签的子标签时<group>中才配置该属性,如果作为非<touch>标签的子标签时,<group>标签中的actionName可以为默认值)
touchScreenlazyTime——场景加载后,默认动作等待运行时间(只有在默认动作中设定才起作用,如果不是默认动作,则touchScreenlazyTime取值为0)
<group>标签属性配置的例子如下:
<group type=″sequence″ repeatCount=″1″ actionName=″default″touchScreenlazyTime=”5”>
下面将分别介绍<group>标签包含的各种类型的动作子标签的属性及含义。
4.1、moveto/moveby类型的<action>标签
moveto/moveby类型的<action>标签可以包括属性:type、time、duration、targetPosition、repeatCount和reverse。
属性含义:
type——动作类型
time——动作执行总时间
duration——动作执行时间
targetPosition——动作之后的目标位置(moveby类型的<action>标签中指相对位置)
repeatCount——动作重复执行的次数
reverse——是否反向执行(只在moveby类型的<action>标签中设置此属性)
moveto/moveby类型的<action>标签的属性配置的例子如下:
4.2、scaleto/scaleby类型的<action>标签
scaleto/scaleby类型的<action>标签可以包括属性:type、time、duration、scale、repeatCount和reverse。
属性含义:
type——动作类型
time——动作执行总时间
duration——动作执行时间
scale——放大/缩小的比例,1为不缩放
repeatCount——动作重复执行的次数
reverse——是否反向执行(只在scaleby类型的<action>标签中设置该属性)
scaleto/scaleby类型的<action>标签的属性配置的例子如下:
4.3、wag类型的<action>标签
wag类型的<action>标签可以包括属性:type、time、leftDuration、leftAngle、rightDuration、rightAngle和repeatCount。
属性含义:
type——动作类型
time——动作执行总时间
leftDuration——向左摇摆的时间
leftAngle——向左摇摆的角度,一般应该填负数
rightDuration——向右摇摆的时间
rightAngle——向右摇摆的角度(与左摆角度成相反关系,即一个为正,一个为负)
repeatCount——动作重复执行的次数
wag类型的<action>标签的属性配置的例子如下:
<action type=″wag″ time=″10″ leftDuration=″5″ leftAngle=″180″rightDuration=″5″rightAngle=″180″repeatCount=″0″/>
4.4、whirl类型的<action>标签
whirl类型的<action>标签可以包括属性:type、time、duration和repeatCount。
属性含义:
type——动作类型
time——动作执行总时间
duration——动作执行时间
repeatCount——动作重复执行的次数
whirl类型的<action>标签的属性配置的例子如下:
<action type=″whirl″time=″10″duration=″10″repeatCount=″2″/>
4.5、blink类型的<action>标签
blink类型的<action>标签可以包括属性:type、time、duration和repeatCount。
属性含义:
type——动作类型
time——动作执行总时间
duration——动作执行时间
repeatCount——动作重复执行的次数
blink类型的<action>标签的属性配置的例子如下:
<action type=″blink″time=″10″duration=″10″repeatCount=″5″/>
4.6、jumpby类型的<action>标签
jumpby类型的<action>标签可以包括属性:type、time、duration、targetPosition、height、jumps和repeatCount。
属性含义:
type——动作类型
time——动作执行总时间
duration——动作执行时间
targetPosition——目标位置(相对位置)
height——每次跳跃的高度
jumps——到达目标点,所需跳跃的次数
repeatCount——动作重复执行的次数
jumpby类型的<action>标签的属性配置的例子如下:
<action type=″jumpby″ time=″10″ duration=″10″targetPosition=″{755,876}″height=″60″jumps=″4″repeatCount=″0″/>
4.7、贝赛尔曲线(bezierby)类型的<action>标签
bezierby类型的<action>标签可以包括属性:type、time、duration、targetPosition、controlPoint1、controlPoint2和repeatCount。
属性含义:
type——动作类型
time——动作执行总时间
duration——动作执行时间
targetPosition——动作后的目标位置(相对位置)
controlPoint1——控制点1的坐标(相对位置)
controlPoint2——控制点2的坐标(相对位置)
repeatCount——动作重复执行的次数
bezierby类型的<action>标签的属性配置的例子如下:
<action type=″bezierby″ time=″10″ duration=″10″targetPosition=″{759,649}″ controlPoint1=″{584,362}″controlPoint2=″{679,445}″repeatCount=″2″/>
4.8、cycle类型的<action>标签
cycle类型的<action>标签可以包括属性:type、time、delay和repeatCount。
属性含义:
type——动作类型
time——动作执行总时间
delay——图片播放的总时间
repeatCount——动作重复执行的次数
cycle类型的<action>标签的属性配置的例子如下:
其中,<image>标签可以包括属性:path,该属性含义是指图片路径。
4.9、effect类型的<action>标签
effect类型的<action>标签可以包括属性:type、time、music、repeatCount、labelName和isMusic。
属性含义:
type——动作类型
music——音乐名称
labelName——配合音乐显示的界面文字名称
isMusic——是否为音乐(Y表示音乐,N表示音效)
effect类型的<action>标签的属性配置例子如下:
<action type=″effect″ time=″10″ music=″companyLogo.mp3″repeatCount=″1″labelName=″e″isMusic=″Y″/>
4.10、event类型的<action>标签
event类型的<action>标签可以包括属性:type、time和tag。
属性含义:
type——动作类型
time——动作执行的时间。
tag——事件执行动作类型,例如,“100”表示向前一页翻页模式;“101”表示向后翻页模式;“102”表示向主页翻页模式。
event类型的<action>标签的属性配置的例子如下:
<action type=″event″time=″10″tag=″101″/>
5、<menus>标签
每个场景中都可以有按钮(menu),每个按钮里面又可以有一组按钮项。按钮项的排列顺序由按钮的基本属性来确定,每个按钮项会对应有自己的处理事件等基本属性。这些属性都可以进行个性化配置,以满足不同场景对按钮需要完成的效果的配置。
<menus>标签的属性配置的例子如下:
<menu>标签是<menus>标签的子标签。<menu>标签可以包括属性:zIndex、tag、fontSize、position和showStyle。
属性含义:
zIndex——显示索引,数字越大越靠上显示
tag——标签,调用按钮时使用,不同的按钮要有不同的标签值
fontSize——如果按钮选用的是文字的话,设置按钮中的字体的大小
position——按钮位于场景中的坐标,即按钮中心点的位置
showStyle——按钮项的排列方式,即一个按钮中的各个按钮项的排列方式:horizontally(水平排列)或者vertically(垂直排列)
<item>标签即按钮项标签,是<menu>标签的子标签。<item>标签可以包括属性:normalImage、selectedImage、disableImage、isEnable、target、selector和tag。
属性含义:
normalImage——按钮项显示的默认图片
selectedImage——按钮项选择后显示的图片
disableImage——按钮项不可用时显示的图片
isEnable——按钮项是否可用
target——默认值为self
selector——预留操作字段
tag——menu按钮的按钮项的标签值,调用时使用,不同的按钮项要有不同的tag值,用于触发不同的事件
6、<labels>标签
每个场景都可能有默认显示的界面文字,或者某些精灵发声时需要对应显示相应的文字。这些文字有字体、字号、颜色、位置、对齐方式等相关的基本属性。这些属性都可以进行个性化配置,以满足不同的场景的界面文字需要完成的效果。
<labels>标签的属性配置的例子如下:
<label>标签是<labels>标签的子标签。<label>标签可以包括属性:type、name、position、color、fontSize、font、alignment、demension、opacity、tag、zIndex和content。
属性含义:
type——文字界面类型,可以包括普通text(文本)和LRC(歌词)两种类型
name——文字界面名称,默认为default
position——文字界面坐标位置,文字界面中心点的坐标
color——文字界面中文字的颜色
fontSize——文字界面中文字的字号
font——文字界面中文字的字体
alignment——文字界面中文字的对齐方式:居中对齐方式、左对齐方式、右对齐方式
demension——文字界面区域范围
opacity——文字界面中文字的透明度
tag——文字界面的标签
zIndex——文字界面在场景中的显示索引
content——文字界面中显示的内容
下面结合具体的例子介绍XML配置文件的解析过程。
XML配置文件的解析对应于XML配置文件中各标签的层次。首先解析最外层的<play>标签。
<play>标签的属性信息反映了微动画应用软件的产品基本信息,<play>标签的属性配置的例子如下:
<play>标签的解析过程如图3所示。该过程包括:
步骤201、判断是否读取<play>标签的属性值。如果是,执行步骤202;如果不是,执行步骤220。
步骤202、判断属性名是否是name。如果是,执行步骤203;如果不是,执行步骤204。
步骤203、利用属性名name的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤203之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤204、判断属性名是否是originType。如果是,执行步骤205;如果不是,执行步骤206。
步骤205、利用属性名originType的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤205之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤206、判断属性名是否是sceneCount。如果是,执行步骤207;如果不是,执行步骤208。
步骤207、利用属性名sceneCount的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤207之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤208、判断属性名是否是width。如果是,执行步骤209;如果不是,执行步骤210。
步骤209、利用属性名width的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤209之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤210、判断属性名是否是height。如果是,执行步骤211;如果不是,执行步骤212。
步骤211、利用属性名height的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤211之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤212、判断属性名是否是configFilePath。如果是,执行步骤213;如果不是,执行步骤214。
步骤213、利用属性名configFilePath的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤213之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤214、判断属性名是否是picPath。如果是,执行步骤215;如果不是,执行步骤216。
步骤215、利用属性名picPath的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤215之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤216、判断属性名是否是musicPath。如果是,执行步骤217;如果不是,执行步骤218。
步骤217、利用属性名musicPath的属性值为数据模型中<play>标签对应的对象中的变量赋值。步骤217之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤218、判断属性名是否是sceneHome。如果是,执行步骤219;如果不是,执行步骤201。
步骤219、利用属性名sceneHome的属性值为数据模型中与<play>标签对应的对象中的变量赋值。步骤219之后,执行步骤201,继续判断是否读取<play>标签的属性值。
步骤220、读取<play>标签的子标签。
步骤221、判断<play>标签的子标签的名称是否是scene。如果是,执行步骤223;如果不是,执行步骤222。
步骤222、结束<play>标签解析。
步骤223、判断<scene>标签的属性名是否是name。如果是,执行步骤224;如果不是,执行步骤220。
步骤224、将属性名name的属性值保存到数据模型中与<scene>标签对应的列表对象中。步骤224之后执行步骤220。
从上述的解析过程可以看出,<play>标签的解析实质上是依次读取各个预设属性的属性值,利用获取的各属性值为数据模型中与<play>标签对应的对象中的各变量赋值;直到遍历完<play>标签的所有预设属性以及子标签的属性,则可以跳出<play>标签的解析过程。具体到图3,当读取完属性名sceneHome的属性值之后,已经遍历完了<play>标签的所有预设属性值,流程跳转到步骤201,由于之前已经读取过一次<play>标签,因而不需要再次读取<play>标签,执行完步骤219并跳转到步骤201后,下一步可以执行步骤220,继续<play>标签的子标签的解析过程。
一个微动画场景可以配置一个XML配置文件,针对单个微动画场景的XML配置文件中,<scene>标签可以作为最外层大标签,该<scene>标签的属性配置的例子如下:
图4示例性示出本发明的实施例中<scene>标签的解析流程,包括:
步骤301、判断是否读取<scene>标签的属性值。如果是,执行步骤302;如果不是,执行步骤303。
步骤302、判断属性名是否是delay、name、prev、next、backgroundPic、backgroundSound、tranTime、tranModePre和tranModeNext其中之一。如果是,利用属性值为数据模型中与<scene>标签对应的对象中的变量赋值。
步骤303、判断是否读取<scene>标签的子标签。如果是,执行步骤304;如果不是,结束<scene>标签解析。
步骤304、判断子标签的名称是否是menus。如果是,执行如图5所示的步骤501。在图5中示出了<scene>标签的子标签<menus>的解析过程。如果不是,执行步骤305。
步骤305、判断子标签的名称是否是labels。如果是,执行如图6所示的步骤601。在图6中示出了<scene>标签的子标签<labels>的解析过程。如果不是,执行步骤306。
步骤306、判断子标签的名称是否是sprites。如果是,执行如图7所示的步骤701。在图7中示出了<scene>标签的子标签<sprites>的解析过程。如果不是,执行步骤303,继续判断是否读取<scene>标签的子标签。如果之前已经读取过<scene>标签的子标签,则可以确定不需要再次读取<scene>标签的子标签,结束<scene>标签的解析。
需要说明的是,在图4示出的流程中,对于<scene>标签的各个子标签是按照<menus>→<labels>→<sprites>这样的顺序顺次解析的,当然本发明的实施例中不限于这种顺序,先解析<scene>标签的哪个子标签,可以由本领域技术人员根据解析需要来设置。例如,也可以按照这样的顺序来解析<scene>标签的各个子标签:<labels>→<menus>→<sprites>。
图5示例性示出了本发明的实施例中<scene>标签的子标签<menus>的解析流程,<menu>是<menus>的子标签,<menus>标签的解析主要包括对<menu>标签的解析。该流程包括:
步骤501、判断是否读取<menu>标签的属性值。如果是,执行步骤506;如果不是,执行步骤502。
步骤502、判断是否读取<menu>标签的子标签<item>的属性值。如果是,执行步骤503;如果不是,执行步骤505。
步骤503、判断属性名是否是tag、normalImage、slectedImage、disableImage、target、selector和isEnable其中之一。如果是,执行步骤504;如果不是,执行步骤502。
步骤504、利用各属性名对应的属性值为数据模型中与<item>标签对应的对象中的变量赋值。步骤504之后,执行步骤502。
步骤505、将menu对象保存到数据模型的menus列表对象中。步骤505之后执行步骤306。
步骤505之后,执行步骤306。在数据模型中,与<menus>对应的对象中可以设置一个menus列表对象,在该列表对象中可以保存与<menu>标签对应的menu对象。
步骤506、判断属性名是否是zIndex、tag、fontSize、position和showStyle其中之一。如果是,执行步骤507;如果不是,执行步骤501。
步骤507、利用各属性名对应的属性值为数据模型中与<menu>标签对应的对象中的变量赋值。步骤507之后,执行步骤501。
图6示例性示出了本发明的实施例中<scene>标签的子标签<labels>的解析流程,<label>是<labels>的子标签,<labels>标签的解析主要包括对<label>标签的解析。该流程包括:
步骤601、判断是否读取<label>标签的属性值。如果是,执行步骤603;如果不是,执行步骤602。
步骤602、将label保存到labels列表对象中。在数据模型中,与<labels>对应的对象中可以设置一个labels列表对象,在该列表对象中可以保存与<label>标签对应的label对象。步骤602后执行步骤307。
步骤603、判断属性名是否是name、type、tag、zIndex、opacity、fontSize、font、content、color、alignment、position和demension其中之一。如果是,执行步骤604。如果不是,执行步骤601。
步骤604、利用各属性值为数据模型中与<label>标签对应的对象中的变量赋值。步骤604之后,执行步骤601。
需要说明的是,在步骤603中,如果当前解析的<label>标签的属性名是content,则需要结合type的属性值做判断。如果type的属性值为LRC时,首先要将content的属性值中的一些标记性文字去掉,然后再利用content的属性值为数据模型中与<label>标签对应的对象中的变量赋值。
图7示例性示出了本发明的实施例中<scene>标签的子标签<sprites>的解析流程,<sprite>是<sprites>的子标签,<sprites>标签的解析主要包括对<sprite>标签的解析。该流程包括:
步骤701、判断是否读取<sprite>标签的属性值。如果是,执行步骤702。如果不是,执行步骤704。
步骤702、判断属性名是否是name、imagePath、position、scale、zIndex、tag、和opacity其中之一。如果是,执行步骤703;如果不是,执行步骤701。
步骤703、利用各属性值为数据模型中与<sprite>标签对应的对象中的变量赋值。步骤703后执行步骤701。
步骤704、判断是否读取<sprite>标签的子标签的属性值。如果是,执行步骤706;如果不是,执行步骤705。
步骤705、将sprite保存到sprites列表中。在数据模型中,与<sprites>对应的对象中可以设置一个sprites列表对象,在该列表对象中可以保存与<sprite>标签对应的sprite对象。步骤705后执行步骤303。
步骤706、判断子标签的名称是否是touch。如果是,执行步骤707;如果不是,执行步骤708。
步骤707、读取<touch>标签的子标签<group>的属性值。关于如何读取<touch>标签的子标签<group>的属性值的步骤参见图8。步骤707之后执行步骤704。
步骤708、判断子标签名称是否是actions。如果是,执行步骤709;如果不是,执行步骤710。
步骤709、读取<actions>标签的子标签<group>的属性值。关于如何读取<actions>标签的子标签<group>的属性值的步骤参见图8。步骤709后执行步骤704。
步骤710、判断子标签名称是否是miniTouchSet。如果是,执行步骤711;如果不是,执行步骤714。
步骤711、判断属性名是否是rect。如果是,执行步骤712;如果不是,执行步骤713。
步骤712、利用<miniTouchSet>标签的rect属性值为数据模型中与<miniTouchSet>标签对应的对象中的变量赋值。
步骤713、读取<miniTouchSet>标签的子标签<group>的属性值。关于如何读取<miniTouchSet>标签的子标签<group>的属性值的步骤参见图8。步骤713后执行步骤704。
步骤714、判断子标签名称是否是touchTrigger。如果是,执行步骤715;如果不是,执行步骤704。
步骤715、判断属性名是否是actionSprite和actionName其中之一。如果是,执行步骤716;如果不是,执行步骤714。
步骤716、利用各属性值为数据模型中与<touchTrigger>标签对应的对象中的变量赋值。
图8示例性示出了本发明的实施例中<group>标签的解析流程,包括:
步骤801、判断是否读取<group>标签的属性值。如果是,执行步骤802;如果不是,执行步骤804。
步骤802、判断属性名是否是Type、repeatCount、touchScreenlazyTime和actionName其中之一。如果是,执行步骤803;如果不是,执行步骤801。
步骤803、利用各属性值保存到数据模型中与<group>标签对应的对象中的变量赋值。步骤803后执行步骤801。
步骤804、判断是否读取<group>标签的子标签。如果是,执行步骤806;如果不是,执行步骤805。
步骤805、将group保存到与sprite相应的动作类型的groups列表对象中。数据模型中,每个精灵可以对应一个或多个相应动作类型的groups列表对象,在该列表对象中可以保存与精灵对应的group对象。
步骤806、判断子标签的名称是否是action。如果是,执行步骤807;如果不是,执行步骤804。
步骤807、判断属性名称是否是type。如果是,执行步骤808;如果不是,执行步骤809。
步骤808、处理不同类型的<action>标签。从前述的介绍可以看出,XML配置文件可以包括moveto、blink、jumpby等各种类型的<action>标签。针对不同类型的<action>标签,可以进行相应的处理。对于不同类型的<action>标签的处理可以参见图9。步骤808后执行步骤804。
步骤809、判断属性名称是否是time、repeatCount和music其中之一。如果是,执行步骤810;如果不是,执行步骤804。
步骤810、利用各属性值为数据模型中与<action>标签对应的对象中的变量赋值。步骤810后执行步骤804。
需要说明的是,图8示出的解析<group>标签的流程,可以应用于图7中的步骤707、709和713中,因为<touch>标签的子标签包括<group>,<actions>标签的子标签也包括<group>,<miniTouchSet>标签的子标签还包括<group>。如果将图8示出的流程应用于图7中的步骤707,则步骤801是在步骤706后执行,步骤805后执行步骤704。如果将图8示出的流程应用于图7中的步骤709,则步骤801可以在步骤708后执行,步骤805后执行步骤704。如果将图8示出的流程应用于图7中的步骤713,则步骤801可以在步骤711后执行,步骤805后执行步骤704。
图9示例性示出了本发明的实施例中<action>标签的解析流程,包括:
步骤901、判断type是否是moveto。如果是,执行步骤902;如果不是,执行步骤903。
步骤902、利用属性值为数据模型中与moveto类型的<action>标签对应的对象中的变量赋值。步骤902后执行步骤804。
步骤903、判断type是否是moveby。如果是,执行步骤904;如果不是,执行步骤905。
步骤904、利用属性值为数据模型中与moveby类型的<action>标签对应的对象中的变量赋值。步骤904后执行步骤804。
步骤905、判断type是否是cycle。如果是,执行步骤906;如果不是,执行步骤907。
步骤906、利用属性值为数据模型中与cycle类型的<action>标签对应的对象中的变量赋值。步骤906后执行步骤804。
步骤907、判断type是否是blink。如果是,执行步骤908;如果不是,执行步骤909。
步骤908、利用属性值为数据模型中与blink类型的<action>标签对应的对象中的变量赋值。步骤908后执行步骤804。
步骤909、判断type是否是scaleto。如果是,执行步骤910;如果不是,执行步骤911。
步骤910、利用属性值为数据模型中与sacaleto类型的<action>标签对应的对象中的变量赋值。步骤910后执行步骤804。
步骤911、判断type是否是scaleby。如果是,执行步骤912;如果不是,执行步骤913。
步骤912、利用属性值为数据模型中与sacaleby类型的<action>标签对应的对象中的变量赋值。步骤912后执行步骤804。
步骤913、判断type是否是wag。如果是,执行步骤914;如果不是,执行步骤915。
步骤914、利用属性值为数据模型中与wag类型的<action>标签对应的对象中的变量赋值。步骤914后执行步骤804。
步骤915、判断type是否是whirl。如果是,执行步骤916;如果不是,执行步骤917。
步骤916、利用属性值为数据模型中与whirl类型的<action>标签对应的对象中的变量赋值。步骤914后执行步骤804。
步骤917、判断type是否是jumpby。如果是,执行步骤918;如果不是,执行步骤919。
步骤918、利用属性值为数据模型中与jumpby类型的<action>标签对应的对象中的变量赋值。步骤918后执行步骤804。
步骤919、判断type是否是bezierby。如果是,执行步骤920;如果不是,执行步骤921。
步骤920、利用属性值为数据模型中与bezierby类型的<action>标签对应的对象中的变量赋值。步骤920后执行步骤804。
步骤921、判断type是否是effect。如果是,执行步骤922;如果不是,执行步骤923。
步骤922、利用属性值为数据模型中与effect类型的<action>标签对应的对象中的变量赋值。步骤922后执行步骤804。
步骤923、判断type是否是event。如果是,执行步骤924;如果不是,执行步骤804。
步骤924、利用属性值为数据模型中与event类型的<action>标签对应的对象中的变量赋值。步骤924后执行步骤804。
经过如图3-图9所示的流程之后,即可完成XML配置文件的解析,数据模型中各对象的变量均已赋值。
根据本发明的实施例,在步骤103中形成的微动画场景中,精灵的动作、音乐、音效以及文字均是默认的。在有的微动画应用软件中,可以在检测到点击操作之后,生成与点击区域相对应的精灵动作、音乐、音效或文字等。
为了使得编辑人员能够查看到点击操作之后的效果,优选地,在步骤103之后还可以包括步骤104-111,如图10所示,图10示例性示出了本发明计算机实施的微动画效果查看方法实施例二的流程图。
步骤101-步骤103分别与图1中相同,不再赘述。
步骤104、检测点击操作。该点击操作可以是编辑人员使用鼠标点击微动画场景中的某个区域的点击操作。
步骤105、检测到点击操作后,判断该点击操作是否是在微动画场景中精灵所在的背景区域。如果是,执行步骤106;如果不是,执行步骤108。
精灵所在的背景区域是指精灵在微动画场景中所占据的整个区域,如图11所示。如图11示出本发明实施例中的一个微动画场景的示意图,该微动画场景21中有一朵花,这朵花是该微动画场景中的一个精灵,该朵花占据的区域是该精灵的背景区域21a(图11中用点划线框住的区域)。
步骤106、判断数据模型中是否有与精灵相关的整体动作对象。如果有,执行步骤107;如果没有,执行步骤108。
在前述解析XML配置文件时,已经将与XML配置文件中的各个<group>标签对应的group对象保存到了与精灵相应动作类型对应的groups列表对象中,例如,参见步骤805。在步骤106中,可以通过查看数据模型中与该精灵整体点击动作对应的精灵对象的group列表对象中是否包括动作对象来确定数据模型中是否有与该精灵相关的整体动作对象。
步骤107、利用微动画代码获取数据模型中与所述精灵相关的整体动作对象的变量的值,在微动画场景中显示精灵整体动作。
步骤108、判断点击操作是否是在微动画场景中精灵的局部区域。如果是,执行步骤109;如果不是,执行步骤111。
微动画场景中精灵的局部区域是指精灵背景区域中的一部分,如图11中花朵的叶片所在的区域21b即为精灵的一个局部区域。如果编辑人员点击该局部区域(如图11中箭头所示),可以触发该精灵的局部动作,例如,叶片抖动。
步骤109、判断数据模型中是否有与精灵相关的位于所述局部区域中的局部动作对象。具体可以通过查找数据模型中与该精灵局部点击动作对应的group对象列表来判断。如果有,执行步骤110;如果没有,执行步骤111。
步骤110、利用微动画代码获取数据模型中与精灵相关的局部动作对象的变量的值,在微动画场景中显示精灵局部动作。
步骤111、结束。
另外,在检测到点击操作之后,还可以判断数据模型中是否有与点击操作所在区域相关的音乐对象、音效对象或文字对象,如果有,则可以用微动画代码获取点击操作所在区域相关的音乐对象、音效对象或文字对象的变量的值,在微动画场景中显示音乐、音效或文字。例如,如果点击图11中花朵所在的背景区域,则可以在微动画场景中显示一些音乐、音效和文字。在显示音乐时,可以采用类似卡拉OK的效果显示,可以逐字显示歌词。
在本发明提供的方法中,在检测到编辑人员的点击操作之后,会生成与该点击操作的点击区域相对应的精灵动作、文字、音乐或音效,从而提供了丰富的微动画的效果查看方式。
图12示例性示出了本发明微动画效果查看装置的结构示意图,该装置包括:读取模块11、解析模块12、第一处理模块13和加载模块18。读取模块11用于读取微动画的XML配置文件。解析模块12与读取模块11连接,用于解析XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值。第一处理模块13与解析模块12连接,用于利用预设的与所述操作系统相匹配的微动画代码获取所述数据模型中对象的变量的值。加载模块18与第一处理模块13连接,用于加载获取了所述数据模型中对象的变量的值之后的所述微动画代码,从而使得在该微动画效果查看装置中形成微动画场景及微动画场景中的各种元素。
该微动画效果查看装置还可以包括检测模块14、第一判断模块15、第二判断模块16和第二处理模块17。检测模块14用于检测点击操作。第一判断模块15与检测模块14连接,用于在检测模块14检测到点击操作后,判断点击操作是否是在微动画场景中在精灵所在的背景区域。第二判断模块16与第一判断模块15和解析模块12连接,用于在第一判断模块15判断点击操作是在微动画场景中精灵所在的背景区域的情况下,判断数据模型中是否有与精灵相关的整体动作对象。第二处理模块17与第二判断模块16和解析模块12连接,用于在第二判断模块16判断数据模型中有与精灵相关的整体动作对象的情况下,利用微动画代码获取所述数据模型中与精灵相关的整体动作对象的变量的值,在微动画场景中显示精灵整体动作。
在第二判断模块16判断数据模型中没有与精灵相关的整体动作对象的情况下,第二处理模块17可以判断该点击操作是否是在微动画场景中精灵的局部区域,并且在点击操作是否是在微动画场景中精灵的局部区域的情况下,利用微动画代码获取所述数据模型中与精灵相关的局部动作对象的变量的值,在微动画场景中显示精灵局部动作。
本发明提供的微动画效果查看方法及其步骤可以由具有数据处理能力的一个或多个处理设备例如一个或多个计算机运行计算机可执行指令(该计算机可执行指令反映了本发明提出的微动画效果查看方法的思想)来实现。该处理设备可以包括存储前述计算机可执行指令的存储介质。
本申请的微动画效果查看装置可以是运行前述计算机可执行指令的一个或多个处理设备。
虽然已参照典型实施例描述了本发明,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本发明能够以多种形式具体实施而不脱离发明的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
Claims (10)
1.一种微动画效果查看方法,用于具有一操作系统的处理设备中,包括:
读取微动画的XML配置文件;所述XML配置文件包括用于描述待形成的微动画场景以及微动画场景中的各元素的属性的标签;
解析所述XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值;
利用预设的与所述操作系统相匹配的微动画代码获取所述数据模型中对象的变量的值;
加载获取了所述数据模型中对象的变量的值之后的所述微动画代码,从而使得在所述处理设备中形成微动画场景及微动画场景中的各种元素。
2.根据权利要求1所述的方法,所述数据模型中各对象之间的继承关系与所述XML配置文件中各标签之间的继承关系一致。
3.根据权利要求2所述的方法,其中,所述XML配置文件包括场景标签,所述场景标签的子标签包括用于描述所述微动画的运动物体的标签、界面文字标签和按钮标签中的至少一个。
4.根据权利要求3所述的方法,其中,所述预设的与所述操作系统相匹配的微动画代码,包括用于描述所述运动物体的代码、用于生成界面文字的代码和用于生成按钮的代码中的至少一种。
5.根据权利要求1所述的方法,还包括:
检测点击操作;
检测到点击操作后,判断所述点击操作是否是在微动画场景中所述运动物体所在的背景区域;
如果所述点击操作是在微动画场景中运动物体所在的背景区域,则判断所述数据模型中是否有与所述运动物体相关的整体动作对象;
如果所述数据模型中有与所述运动物体相关的整体动作对象,则利用所述微动画代码获取所述数据模型中与所述运动物体相关的整体动作对象的变量的值,在微动画场景中显示所述运动物体的整体动作。
6.根据权利要求5所述的方法,其中,如果所述数据模型中没有与所述运动物体相关的整体动作对象,则判断所述点击操作是否是在微动画场景中运动物体的局部区域;
如果所述点击操作是在微动画场景中运动物体的局部区域,则判断所述数据模型中是否有与所述运动物体相关的位于所述局部区域中的局部动作对象;
如果所述数据模型中有与所述运动物体相关的位于所述局部区域中的局部动作对象,则利用所述微动画代码获取所述数据模型中与所述运动物体相关的局部动作对象的变量的值,在微动画场景中显示运动物体的局部动作。
7.根据权利要求5或6所述的方法,在检测到点击操作后,还包括:
判断所述数据模型中是否有与所述点击操作所在区域相关的音乐对象、音效对象或文字对象;
如果所述数据模型中有与所述点击操作所在区域相关的音乐对象、音效对象或文字对象,则利用所述微动画代码获取所述点击操作所在区域相关的音乐对象、音效对象或文字对象的变量的值,在微动画场景中显示音乐、音效或文字。
8.根据权利要求4所述的方法,其中,解析所述XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值,包括:
读取XML配置文件的场景标签,获取场景标签的属性值,并利用所述场景标签的属性值为所述数据模型中与场景标签对应的对象的变量赋值;
读取XML配置文件中的场景标签的各子标签的属性值以及各子标签的下一层子标签的属性值,利用获取的属性值为所述数据模型中对应的对象的变量赋值。
9.一种微动画效果查看装置,具有一操作系统,包括:
读取模块,用于读取微动画的XML配置文件;所述XML配置文件包括用于描述待形成的微动画场景以及微动画场景中的各元素的属性的标签;
解析模块,用于解析所述XML配置文件,利用解析出的各标签的属性值为预先建立的数据模型中与各标签对应的对象的变量赋值;
第一处理模块,用于利用预设的与所述操作系统相匹配的微动画代码获取所述数据模型中对象的变量的值;
加载模块,用于加载获取了所述数据模型中对象的变量的值之后的所述微动画代码,从而使得在该微动画效果查看装置中形成微动画场景及微动画场景中的各种元素。
10.根据权利要求9所述的装置,还包括:
检测模块,用于检测点击操作;
第一判断模块,用于在所述检测模块检测到点击操作后,判断所述点击操作是否是在微动画场景中运动物体所在的背景区域;
第二判断模块,用于在所述第一判断模块判断所述点击操作是在微动画场景中运动物体所在的背景区域的情况下,判断所述数据模型中是否有与所述运动物体相关的整体动作对象;
第二处理模块,用于在所述第二判断模块判断所述数据模型中有与所述运动物体相关的整体动作对象的情况下,利用所述微动画代码获取所述数据模型中与所述运动物体相关的整体动作对象的变量的值,在微动画场景中显示运动物体的整体动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102534211A CN102289835A (zh) | 2011-08-30 | 2011-08-30 | 微动画效果查看方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102534211A CN102289835A (zh) | 2011-08-30 | 2011-08-30 | 微动画效果查看方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102289835A true CN102289835A (zh) | 2011-12-21 |
Family
ID=45336221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102534211A Pending CN102289835A (zh) | 2011-08-30 | 2011-08-30 | 微动画效果查看方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102289835A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530094A (zh) * | 2012-07-02 | 2014-01-22 | 西安曲江出版传媒股份有限公司 | 基于Windows系统下可视化开发iPad应用程序的方法 |
CN104123742A (zh) * | 2014-07-21 | 2014-10-29 | 徐才 | 一种将静态漫画图片转化为二维动画的方法和播放器 |
CN104216697A (zh) * | 2013-06-05 | 2014-12-17 | 百度在线网络技术(北京)有限公司 | 用于移动终端的动画播放方法、装置和移动终端 |
CN104517307A (zh) * | 2013-09-29 | 2015-04-15 | 北京新媒传信科技有限公司 | 一种动画制作方法和装置 |
CN107943805A (zh) * | 2016-10-12 | 2018-04-20 | 阿里巴巴集团控股有限公司 | 一种动画渲染及发布方法、装置 |
WO2020248879A1 (zh) * | 2019-06-11 | 2020-12-17 | 腾讯科技(深圳)有限公司 | 动画数据编码、解码方法、装置、存储介质和计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020075270A1 (en) * | 2000-12-18 | 2002-06-20 | Alden Jeffrey Morgan | Visualization of complex system interactions |
JP2007509420A (ja) * | 2003-10-23 | 2007-04-12 | マイクロソフト コーポレーション | 映像およびシーングラフインターフェイス |
CN1996395A (zh) * | 2006-09-14 | 2007-07-11 | 浙江大学 | 基于运动脚本的三维人体动画自动生成方法 |
CN101436185A (zh) * | 2007-11-12 | 2009-05-20 | 北大方正集团有限公司 | 一种利用xml内存树实现多种文件兼容的方法 |
-
2011
- 2011-08-30 CN CN2011102534211A patent/CN102289835A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020075270A1 (en) * | 2000-12-18 | 2002-06-20 | Alden Jeffrey Morgan | Visualization of complex system interactions |
JP2007509420A (ja) * | 2003-10-23 | 2007-04-12 | マイクロソフト コーポレーション | 映像およびシーングラフインターフェイス |
CN1996395A (zh) * | 2006-09-14 | 2007-07-11 | 浙江大学 | 基于运动脚本的三维人体动画自动生成方法 |
CN101436185A (zh) * | 2007-11-12 | 2009-05-20 | 北大方正集团有限公司 | 一种利用xml内存树实现多种文件兼容的方法 |
Non-Patent Citations (1)
Title |
---|
赵航涛: "在Flash中访问XML数据", 《中小学电教》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530094A (zh) * | 2012-07-02 | 2014-01-22 | 西安曲江出版传媒股份有限公司 | 基于Windows系统下可视化开发iPad应用程序的方法 |
CN104216697A (zh) * | 2013-06-05 | 2014-12-17 | 百度在线网络技术(北京)有限公司 | 用于移动终端的动画播放方法、装置和移动终端 |
CN104216697B (zh) * | 2013-06-05 | 2020-05-22 | 百度在线网络技术(北京)有限公司 | 用于移动终端的动画播放方法、装置和移动终端 |
CN104517307A (zh) * | 2013-09-29 | 2015-04-15 | 北京新媒传信科技有限公司 | 一种动画制作方法和装置 |
CN104123742A (zh) * | 2014-07-21 | 2014-10-29 | 徐才 | 一种将静态漫画图片转化为二维动画的方法和播放器 |
CN107943805A (zh) * | 2016-10-12 | 2018-04-20 | 阿里巴巴集团控股有限公司 | 一种动画渲染及发布方法、装置 |
CN107943805B (zh) * | 2016-10-12 | 2022-02-25 | 阿里巴巴集团控股有限公司 | 一种动画渲染及发布方法、装置 |
WO2020248879A1 (zh) * | 2019-06-11 | 2020-12-17 | 腾讯科技(深圳)有限公司 | 动画数据编码、解码方法、装置、存储介质和计算机设备 |
JP2022536233A (ja) * | 2019-06-11 | 2022-08-15 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置 |
JP7165272B2 (ja) | 2019-06-11 | 2022-11-02 | テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド | 動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106250128B (zh) | 用户界面的显示处理方法及装置 | |
CN106471476B (zh) | 用于对经优化代码的编辑并继续以及增强的经优化调试的技术 | |
CN100530083C (zh) | 用于创建应用程序的系统及方法 | |
US9524279B2 (en) | Help document animated visualization | |
US20140366005A1 (en) | Abstract layer for automatic user interface testing | |
CN108027721B (zh) | 用于使用控件来配置通用程序的技术 | |
CN102289835A (zh) | 微动画效果查看方法及装置 | |
CN109189374A (zh) | 基于对象引用链的对象构造代码生成方法及系统 | |
CN109189469A (zh) | 基于反射的安卓应用微服务化方法及系统 | |
Natarajan et al. | P2A: A tool for converting pixels to animated mobile application user interfaces | |
Mark et al. | Beginning iOS6 Development | |
Yener et al. | Expert Android Studio | |
Horton | Ivor Horton's Beginning Visual C++ 2008 | |
Mark | Beginning iOS 5 Development: Exploring the iOS SDK | |
Weaver et al. | Pro JavaFX 2: A Definitive Guide to Rich Clients with Java Technology | |
Chin et al. | The Definitive Guide to Modern Java Clients with JavaFX 17 | |
Weaver et al. | Pro javafx 8: a definitive guide to building desktop, mobile, and embedded java clients | |
CN104216646A (zh) | 基于手势创建应用程序的方法及装置 | |
CN111367514A (zh) | 页面卡片的开发方法和装置、计算设备和存储介质 | |
Lewis et al. | Native mobile development: a cross-reference for iOS and Android | |
Vasic | Mastering Android Development with Kotlin: Deep dive into the world of Android to create robust applications with Kotlin | |
CN109992514B (zh) | 基于可视化内容的移动应用动态分析方法 | |
Pellens et al. | A development environment using behavior patterns to facilitate building 3d/vr applications | |
Nutting et al. | Beginning iOS 7 Development: Exploring the iOS SDK | |
Mew | Android 5 Programming by Example |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20111221 |