姓名:杨华、联络电话:13844144016、电子信箱:[email protected]、通讯地址:长春人民大街吉林大学南岭校区管理学院9883班、邮编:130024。作者简介:本人是吉林大学管理信息系大四本科生,酷爱编程,非常喜欢贵刊。本人愿意将文章在网站上发布。
摘要:本文通过一个下雪的动画来讨论Windows下基于GDI的动画编程。通过本文的学习,读者应该对GDI动画编程有了基本的认识,可以开发一些简单的动画。
关键词:动画,GDI,VCL,C++Builder编程。
容易度:容易。
想必大家对动画编程一定很感兴趣,谁不想自己编一个游戏玩玩,那么好笔者在这就和大家一起来探讨一下动画编程的基础问题。本文旨在用简单明了的实例,来引导读者进行进一步的研究。在这我将用一个下雪的动画作为例子,并在Windows me 和C++Builder 5 环境下对其进行编译,如果你想获得本文的电子版及其源代码,那么请到http://codehunter.1yes.net网站上下载,或者访问《电脑编程与维护》杂志的网站http://www.comprg.com.cn。Come on…
一.动画的基础知识
所谓动画也就使一幅图像“活”起来的过程。使用动画可以清楚的表现出一个事件的过程,或是展现一个活灵活现的画面。动画是由动画对象和背景构成的。动画对象指的是可在屏幕上四处移动的图像,是能在视频屏幕上进行移动的整个位图的集合,在我们编写动画程序时,主要是实时处理动画对象。动画对象是整个过程的核心部分,一个动画对象可能是一个点,一个物体,一个动物,一个人,或是某种自然景象,而我们的实例就是一个自然景象(茫茫的雪花中站着一对情人,他们拥抱在一起,心里的话儿变成文字在雪中慢慢地向上移动,多浪漫呀!)。在我们的实例中卡通图片就是背景,而飘扬的雪花和移动的字幕就是动画对象。事实上产生动画的最好方法是放电影,每秒钟更换24张连续的画面,就可以蒙骗人们的肉眼,使人认为画面是连续的,而电脑动画的原理从本质上来说和放电影是一样的。应用程序以一定的规律快速连续绘制并显示一系列有关联的静止图像就产生了电脑动画。
二.下雪的实现原理
用VCL提供的TCanvas(画布对象)和TBitmap(位图对象)来实现动画很容易,本例中定义了两个内存位图ImgBK(用来存储背景图片),SrcImg(用来生成新的帧)。动画的形成流程看下图:
本文地址:http://com.8s8s.com/it/it29803.htm