关于C语言动画设计实现

更新时间:2024-02-10 作者:用户投稿原创标记本站原创
摘 要:随着计算机图形学的发展,动画技术广泛应用于动画制作、数字影像制作、广告、辅助教学、游戏等方面,人们对动画技术的兴趣也与日俱增,C语言丰富的图形处理函数为实现动画仿真提供了极大的便利。该文探究了在单页面与多页面下动画技术的实现及画面存储、重放动画技术的实现。
关键词:动画 XOR 单页面 多页面 库函数
1672-3791(2014)10(b)-0019-01
动画一般由两个部分构成:动画环境(背景)和动画物体(前景)。多数情况下,产生动画效果只需要转变屏幕中一个前景运动物体在画面中的位置,而其背景和动画物体的开关一般保持不变,因此就需要重复进行显示、擦除,在新的位置上显示这一过程从而实现动画,而动画的实现又可以分为单页面与多页面动画实现。利用C语言丰富的库函数可以实现动画效果及动画的存储、重放。
1 单页面动画技术
单页面动画技术是将动画物体的图象保存在存储区中,需要时快速从内存中拷贝回屏幕进行重新显示,并通过对该图象象素与背景象素进行XOR(异或)运算,是被前景所遮盖的背景图像部分还原,从而达到动画效果。
在C语言中,库函数putimage将内存中所存储的图像回送到屏幕任意指定位置上,若将函数里的参数OP定义为XOR_PUT,
就可以使内存中源图像同背景图像按位进行“异或”,利用XOR的“还原”特性,即当XOR操作后象素值便发生转变,然后再作一次XOR运算又可把原象素值还原,可对屏幕上的一个运动物体连续作XOR运算,而不必担心背景图形的存储与还原理由。因此,在运动物体的同一显示位置上连续进行两次XOR运算,然后在下一显示位置坐同样的操作,反复进行,就可使前景运动图形产生动画效果。下面就是一个单页面显示的动画实例。
2 多页面动画技术
对于有两个以上显示页面的图形工作模式,可以采用多页面动画技术来实现动画。其基本思想是将一页作为显示页,另一页作为绘图页,这是一个交替过程,即当一个可见页面用于显示时,另一个关闭页用于绘图;当新的画面生成后,就把两页进行转换,原来作为显示用的页面再用来绘制新的图形。一般第一页用于显示动画过程的第1、3、5……幅画面,第二页用于显示动画过程的第2、3、6……幅画面,如此交替下去,图形的擦除和重画过程都在“后台”进行,屏幕上出现的仅是整幅画面的瞬间切换,以此来达到动画效果。该技术利用库函数setactivepage()与setvisualpage()来实现动画。下面就是一个多页面显示的动画实例。
3 画面存储、重放动画技术
画面存储、重放动画技术类似幻灯片的制作过程,其基本思想是把整个动画过程划分为一个个片断,将每一片断作为一幅画在屏幕上一指定的区域显示出来,然后把屏幕上的图像存入一个文件中。在动画显示时,按顺序不断推出这些画面,从而产生动画效果。该技术利用库函数getimage()和putimage()来实现动画。编程分两步进行,一是生成画面与画面存储。二是画面重放。为了加快动画速度,可以先将图形数据依次读出,建立一链表,然后对此链表进行操作。鉴于篇幅,就不给出实例编程。
4 结语
动画实现的策略是多种多样的,我们在工程开发、计算机设计、游戏开发等诸方面都要采用动画技术,利用动画突出事物特征的功能可以使我们开发的软件生动形象、科学合理。只要我们在实际应用中,利用C语言丰富的库函数进行科学设计,灵活应用,就会使自己设计的动画达到理想的效果。
参考文献
[1]谭浩强.C程序设计[M].2版.清华大学出版社,2002.
[2]朱剑平.软件开发:编程与设计(C语言版)[M].清华大学出版社,2006.后对此链表进行操作。鉴于篇幅,就不给出实例编程。4结语动画实现的策略是多种多样的,我们在工程开发、计算机设计、游戏开发等诸方面都要采用动画技术,利用动画突出事物特征的功能可以使我们开发的软件生动形象、科学合理。只要我们在实际应用中,利用C语言丰富的库函数进行科学设计,灵活应用,就会使自己设计的动画达 WWw.808so.com 808论文查重

点赞:5267 浏览:19378