标签:
逐帧动画是一种常见的动画形式,其原理是利用人的视觉的滞后性,在时间轴的每帧上绘制不同的内容,然后在足够短的时间内进行播放,给人的感觉就如同连续的动画。
由于逐帧动画的帧序列内容不一样,这不但给制作增加了负担而且最终输出的文件量也很大,但它的优势也很明显:逐帧动画很适合于表演细腻的动画。例如:人物走路、说话,动物的奔跑、跳跃以及精致的3D效果等等。
创建逐帧动画的一般方法是:先在程序中存放逐帧动画的素材,再在res文件夹下创建一个anim文件夹,最后在该文件夹下创建一个XML文档,在<animation-list.../>元素中添加<item.../>元素来定义动画的全部帧。动画XML文档的内容框架如下:
其中android:oneshot属性用于定义动画是否循环播放,为true时,表示只播放一次,不循环播放;为false时,则循环播放。
<item.../>元素用于定义每一张图片的内容,以及该图片播放所持续的时间,其中android:drawable属性值指定播放的图片内容,android:duration属性值用于指定图片所播放的时间。<item...>元素出现的顺序用于指定图片播放的顺序。
Android也支持在代码中创建逐帧动画,调用AnimationDrawable的addFrame (Drawable frame, int duration) 方法即可,类似于使用XML方法创建时的<item.../>。
标签:
原文地址:http://www.cnblogs.com/zrui513/p/4922544.html