动画类的研究

动画类的研究

动画类使用范围的讨论

       顾名思义,类肯定提供给开发者使用。但是开发者使用这个类做什么呢?最简单的用途,开发游戏动画效果,还有就是编写工具来编辑动画文件,还有其他的用途么?好像没有了。

       用途出来了,那么针对不同的用途,动画类要提供什么样的操作呢?于是,就需要我们刨开动画的本质构成。

动画的构成

       这里的动画构成,主要是针对2D休闲类游戏。经过笔者的一些游戏制作精力及相关的需求整理如下。

动画由层构成,层间除了具有显示顺序关系外,其余属性相互独立。

       层具有多种属性,下面分别罗列

l        私有数据,主要用于程序中,开发者动态标识层。默认为0

l        层名称,层的另一个标识方法。默认为空。

l        层基本信息,包括

a)        基准点X Y坐标(整数)

b)        显示时间(正整数)

c)        图片绘制方式(正整数)

d)        停止结束标志(0/1)

e)        开始延迟(正整数)

l        层更新信息,包括

a)        桢更新(0/1)

b)        渐变更新(0/1)

c)        图片区域更新(0/1)

d)        运动路径更新(0/1)

e)        图片旋转角度更新(0/1)

f)          图片缩放比例更新(0/1)

l        层停止信息,包括

a)        桢更新结束停止(0/1)

b)        渐变更新结束停止(0/1)

c)        图片区域更新结束停止(0/1)

d)        运动路径更新结束停止(0/1)

e)        图片旋转角度更新结束停止(0/1)

f)          图片缩放比例更新结束停止(0/1)

l        渐变信息,包括

a)        最小透明度(0-250)

b)        最大透明度(10-255)

c)        渐变方向(1.渐显 2.渐隐 3.渐显渐隐 >7 不变的透明度值)

d)        渐变持续时间(>1正整数单位毫秒)

e)        保留值(0)

l        图片区域信息,包括

a)        区域宽度(>0)

b)        区域高度(>0)

c)        区域更新方向(正整数)

d)        区域更新持续时间(>1正整数单位毫秒)

e)        保留值(0)

l        运动路径信息,包括

a)        路径点数(>2)

b)        路径停留标志(0.显示时停留在点间的线上 1显示时停留在点上)

c)        路径方向(1.路径循环 2.路径往回)

d)        路径持续时间(>1正整数单位毫秒)

e)        运动路径<x坐标,y坐标,t该点停留时间>

l        图片旋转信息,包括

a)        最小角度(0-355)

b)        最大角度(5-360)

c)        旋转方向(1.小角度过渡到大角度 2.大角度过渡到小角度 3.小大小 >7 不变的角度值)

d)        旋转持续时间(>1正整数单位毫秒)

e)        旋转居中点X Y坐标

f)          保留值(0)

l        图片缩放信息,包括

a)        最小横向缩放尺寸(1-4000)

b)        最大横向缩放尺寸(1-4000)

c)        最竖横向缩放尺寸(1-4000)

d)        最大竖向缩放尺寸(1-4000)

e)        缩放方向(1.小尺寸过渡到大尺寸 2.大尺寸过渡到小尺寸 3.小大小 >7 不变的缩放尺寸值)

f)          缩放持续时间(>1正整数单位毫秒)

g)        缩放居中点X Y坐标

h)        保留值(0)

l        桢信息,层可以由一桢或多桢组成。

a)        图片显示位置X Y坐标(整数)

b)        图片显示时间(正整数)

c)        图片绘制方式(正整数)

d)        图片文件

e)        图片显示区域

f)          桢标示数据

 

层操作整理

综上所述,层操作分为,整层操作及层内操作,整层操作只要针对层,层内操作主要针对层的属性,层内操作又分为属性操作和桢操作。下面分别讨论

整层操作

       整层操作比较简单,主要包括得到层数目,移动层,标示层三部分操作

l        得到层数目,是个比较常用的操作。

l        移动层,主要用于编辑动画的需求

l        标示层,层可以通过顺序索引号标示,也可以通过名称和私有数据标示,特别是移动后的层,具有唯一标识还是相当有用的。

l        添加和删除层。

层属性操作

       层属性操作主要是改变层的属性,层属性的更改都是围绕着具体层进行的,而这个具体层都是通过顺序索引得到的。

       操作分为下面几类:

l        层基本信息操作

l        层更新方式操作

l        层停止方式操作

l        渐变方式操作

l        图片区域方式操作

l        运动路径方式操作

l        图片旋转方式操作

l        图片缩放方式操作

桢属性操作

桢属性操作主要针对层内所使用的显示桢,可以通过桢索引或者桢标示得到相应的桢进行操作。

操作主要有

l        添加和删除桢。

l        得到桢数目。

l        移动桢。

l        设置桢属性。

 

动画的显示

       前面所讲的都是动画的数据构成,动画应用中最多还是动画显示。目前这部分已经编写完成了,这里主要讲讲它的显示更新机制,以便大家对此有所了解。

       动画显示由几部分构成,

显示状态

包括开始显示,停止显示,得到显示状态等状态相关信息。

动态更新

动态更新分为2部分,更新部分及显示部分,

更新部分负责计算并保留当前动画需要更新图片及显示区域的信息。

显示部分负责将更新部分计算的结果进行显示。

显示相关

       一些显示相关的操作,比如判断给定点是否落在动画内等操作。

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值