windows编程技术10GDI编程3-动画.docVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
windows编程技术10GDI编程3-动画

PAGE  PAGE 25 第10章 GDI编程3-动画 动画是利用人的视觉滞留缺陷 (25ms~400ms)和心理认可来动态生成系列相关画面以产生运动视觉的技术。位图动画是将预先制作好的一系列表示连续画面的位图,按一定的时间间隔一幅接一幅地连续显示,从而产生动画效果。 因为绘制动画所需的图形,以及拍摄和处理图片,需要美术、摄影、数字图像处理、动画设计等知识,我们这里不讲。本书只介绍如何显示已有的位图(序列)以产生动画效果,以及如何动态绘制不同的简单图形以产生二维图形动画等。 用GDI编程实现动画,一般需要用到计时器(Timer)操作,通常在计时器响应函数OnTimer中(而不要使用OnDraw)绘图来实现动画。 10.1 固定位图动画 本节介绍利用一系列的位图资源,在同一个屏幕位置,接连显示位图序列,以达到动画的效果的具体方法。为此,可在交互绘图程序中添加一个如图10-1所示的位图动画对话框,并添加对应的对话框类CDukeDlg。也可以创建一个基于对话框的独立的MFC应用程序。 图10-1 位图动画对话框资源 当然还需添加相应的“位图动画”菜单项(ID_DUKE)和(为视图类添加)对应的菜单响应函数,并在该函数中创建对话框类的对象,打开对话框来运行动画: #include DukeDlg.h void CDrawView::OnDuke() { CDukeDlg dlg; dlg.DoModal(); } 10.1.1 准备位图、加入位图资源 系列公爵(Duke)BMP文件T1.BMP ~ T10.BMP(见图10-2),来自Java吉祥物的GIF动画文件,可存放在项目的res子目录的Duke子目录中(该位图资源已经打包成Duke.rar文件后,放到了系里的网站和我的个人网页上)。 T1.BMP T2.BMP T3.BMP T4.BMP T5.BMP T6.BMP T7.BMP T8.BMP T9.BMP T10.BMP 图10-2 Duke位图文件 用VC的资源编辑器依次加入位图文件:在左边的项目工作区中选“资源视图”页,展开项目的资源列表,在“Bitmap”表项(若无此项,则可直接在项目资源项)上单击鼠标右键,在弹出的浮动菜单中选“添加资源”菜单项,在打开的“添加资源”对话框中,选中左边“资源类型”栏中的“Bitmap”表项,单击右边的“导入”按钮,在弹出的“导入”文件对话框中,定位Duke目录,选中所有Ti.BMP后按“打开”钮,则会自动加入ID为IDB_BITMAPi的位图资源。 为了以后循环编程的方便,必须保证是从T1.BMP到T10.BMP顺序依次加入。为了确认,可打开头文件Resource.h查看,若其中的常量IDB_BITMAPi的定义数值不连续,可作一些手工修改使其连续,例如: #define IDB_BITMAP1 131 #define IDB_BITMAP2 132 #define IDB_BITMAP3 133 #define IDB_BITMAP4 134 #define IDB_BITMAP5 135 #define IDB_BITMAP6 136 #define IDB_BITMAP7 137 #define IDB_BITMAP8 138 #define IDB_BITMAP9 139 #define IDB_BITMAP10 140 10.1.2 添加控件、创建对话框类 为对话框资源添加图片控件:打开对话框资源,在控件工具箱中选图片控件(Picture Control)工具,在对话框的适当位置添加图片控件,设置其“ID”属性值为“IDC_ANI”,修改“Type”属性为(在其下拉式列表框中选中)“Bitmap”,再在“Image”属性的下拉式列表框中选中“IDB_BITMAP1”位图资源,则该位图绘显示在图片控件中。 为了控制动画的播放,需要添加一个即可表示开始动画又可表示停止动画的按钮(初始标题为“开始动画”),可设置其ID为“IDC_ANI_START_STOP”。 为了让用户选择动画的速度,可以添加静态文本提示框“每秒帧数:”和文本编辑框(IDC_N),在后面的10.1.6小节中还会添加滑块控件(Slider Control,IDC

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档