鹏程 C 语言教学网站 第 1 页 共 6 页 2003-8-2
版权所有 不得翻印
庆祝鹏程 C 语言教学网站建站一周年
C 语言高级程序设计讲座
第二讲 平面动画的设计方法
讲座技术支持: http://202.112.86.129/
联系电子邮件: pch1982cn@yahoo.com.cn
这一讲我们的主要任务是先复习一下上一讲的学习内容,然后由制作静止的
图形过渡到制作一个简单的动画。
学习目标
·平面动画的实现方法
·通过实例理解动画的制作,并能自己动手制作小动画
平面动画的实现方法
随着计算机技术的普及应用,动画技术作为计算机图形学的一部分, 已广
泛用于制作动画片、游戏和进行辅助教学等方面。
所谓动画技术指的是屏幕上显示出来的画面或者其中的一部分,能够按照一
定的规则及要求在屏幕上移动或变幻,从而实现由计算机显示的图形能够动态变
换。可见,实现动画的关键在于图形生成、复现和消隐。产生动画所采用的方法,
归结起来有以下几种:
(1)BITBLT 动画(如图 10-1 所示),亦称图形阵列动画、快照动画和图形块,
关键在于画面存储和重放,类似制作幻灯片,通过将整个动画过程划分为一个片
断,作为一副画显示在屏幕的一个区域,在将屏幕图形像素存放在一个文件中;
进行动态显示时,在将存储的图像释放,显示在指定画面,实现了动画效果。这
种方法主要用于处理屏幕的一部分,需要经过内存申请(用于存储显示缓冲区中
的一个矩形方块的图形数据)、读取位图并存入内存、再将内存中存储的图形数
据置于显示器指定位置,同时释放内存供它用。这样,便得到了动画的效果。动
画速度受到显示分辨率、显示模式及图形大小等限制。
(2)线框动画,亦称全屏动画,页面动画和迭代动画,关键在于图形页面的
互换,利用计算机图形显示器在一定工作模式下具有多个页面的特点,并分别作
为显示页和绘图页,图形在这两个页面上交换,实现实时动画。这种方法的处理
对象是分别存放在不同图形页面上的一系列全屏图像,并通过一个独立的子程序
以适当的顺序扫描有关页面,得到动画的效果。
(3)实时动画,亦称现场动画、乒乓动画、隐藏页面动画和动态页面动画,
与上述两种方法有本质区别。前面两种方法都是在开始动画序列之前,已经将所
有图像画好,并存储起来;而实时动画则是在动画开始时才绘制图像,需要分时
处理图像生成和动画实现。
(4)色彩循环动画,利用调色板设置指令,来改变图像颜色,让可见图像消
失为背景,同时又立即使用第二条调色板设置指令恢复另一幅图像的正确颜色。
两幅图像交替出现,不断重复(即图像本色与背景色),便获得实时动画效果。