说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Visual Basic动画编程技术

HTML文档下载 WORD文档下载 PDF文档下载
Visual Basic动画编程技术
作者:周长发
在Visual Basic 中 利 用Image 和Timer 控 件 能 很 方 便 地 实 现 动 画。 本 文 将 介 绍Visual Basic 动 画 编 程 的 基 本 原 理 和 实 现 三 种 不 同 类 型 动 画 的 编 程 技 术。

一、 基 本 原 理

---- 动 画 是 一 种 运 动 的 模 拟, 其 实 现 方 法 是 在 屏 幕 上 快 速 地 显 示 一 组 相 关 的 图 象。 因 此 实 现 动 画 的 基 础 是 图 象 的 显 示 和 使 图 象 快 速、 定 时 地 移 动 或 变 化。
---- 在Visual Basic 中, 用LoadPicture 函 数 将BMP、ICO 和WMF 格 式 的 图 象 文 件 装 入 内 存, 并 将 函 数 返 回 值 赋 予Image 对 象 的Picture 属 性, 便 能 在Image 对 象 中 显 示 图 象。 使 图 象 移 动 或 变 化 的 基 本 方 法 有 三 种, 即:

用Image 对 象 的Move 方 法 移 动 图 象, 其Left 和Top 属 性 指 示 了Image 对 象 的 当 前 左 上 角 位 置;

调 用LoadPicture 函 数 装 载 不 同 的 图 象, 并 赋 给Image 对 象 的Picture 属 性, 将 在 对 象 中 显 示 不 同 的 图 象, 即 实 现 图 象 变 化;

修 改Image 对 象 的Width 和/ 或Height 属 性 可 以 缩 放 图 象。
---- 使 用Timer 控 件 可 以 实 现 定 时 控 制。Timer 对 象 的Interval 属 性 设 置 了 定 时 间 隔, 即 调 用Timer 事 件 过 程 的 时 间 间 隔。 在Timer 事 件 过 程 中 处 理 控 制Image 对 象 的 移 动 或 变 化, 便 能 实 现 动 画。Timer 对 象 的Interval 值 决 定 了 动 画 的 变 化 或 移 动 速 度, 其 单 位 是 毫 秒(1/1000 秒)。
---- Timer 对 象 的Enabled 属 性 决 定 了Timer 事 件 是 否 有 效。 设 置Enabled 属 性 为True 将 启 动Timer 事 件( 如 启 动 动 画); 为False 则 将 使Timer 事 件 无 效( 如 停 止 动 画)。

二、 无 位 移 动 画

---- 无 位 移 动 画 是 指 动 画 对 象 不 移 动, 但 图 象 不 断 变 化, 其 典 型 例 子 是 翻 书。 实 现 无 位 移 动 画 的 方 法 是, 设 置 好Image 对 象 和Timer 对 象 后, 在Timer 事 件 过 程 中 调 用 调 用LoadPicture 函 数 装 载 不 同 的 图 象, 并 赋 予Image 对 象 的Picture 属 性, 使 对 象 中 显 示 不 同 的 图 象, 即 实 现 图 象 变 化。
---- 下 面 是 翻 书 动 画 的 例 子。 程 序 启 动 时, 在 窗 体 中 显 示 一 本 翻 开 的 书, 用 鼠 标 左 键 点 击 书, 则 将 开 始 翻 书; 再 用 鼠 标 左 键 点 击 书, 则 书 将 停 止 翻 动。 位 图 文 件book1.bmp~ book4.bmp 分 别 表 现 了 翻 书 时, 正 在 翻 的 书 页 的 不 同 位 置, 它 们 存 放 在 当 前 工 程 所 在 的 目 录 中。

---- 在 需 显 示 动 画 的 窗 体(Form1) 中 设 置Image 对 象Image1 和Timer 对 象Timer1, 并 按 下 表 设 置 它 们 的 属 性, 未 列 出 的 属 性 使 用 缺 省 值。

.
.
.


三、 单 帧 位 移 动 画

---- 单 帧 位 移 动 画, 是 指 同 一 幅 图 象 的 位 置 不 断 变 化 而 形 成 的 动 画, 其 典 型 实 例 时 云 彩 被 风 吹 动。 编 制 单 帧 位 移 动 画 的 方 法 是 在Timer 事 件 过 程 中 调 用Image 对 象 的Move 方 法 来 移 动 图 象。
---- 下 面 是 云 彩 移 动 的 例 子。 程 序 启 动 时, 在 窗 体 中 显 示 一 朵 云, 用 鼠 标 左 键 点 击 云, 则 云 彩 将 开 始 飘 动, 如 碰 到 窗 体 的 边 界, 云 彩 将 改 变 移 动 方 向; 再 用 鼠 标 左 键 点 击 云, 则 云 将 停 止 移 动。 位 图 文 件cloud.bmp 存 放 在 当 前 工 程 所 在 的 目 录 中。

---- 在 需 显 示 动 画 的 窗 体(Form1) 中 设 置Image 对 象Image1 和Timer 对 象Timer1, 并 按 下 表 设 置 它 们 的 属 性, 未 列 出 的 属 性 使 用 缺 省 值。

.
.
.


---- 注 意, 云 彩 碰 到 边 界 而 反 向 移 动, 是 通 过 改 变DetaX%、 DetaY% 的 符 号 来 实 现 的。
四、 多 帧 位 移 动 画

---- 多 帧 位 移 动 画 是 最 复 杂 的 动 画, 综 合 了 无 位 移 动 画 和 单 帧 位 移 动 画 的 特 点。 自 然 界 的 运 动 大 多 数 都 具 有 多 帧 位 移 的 特 点, 如 小 鸟 的 飞 翔, 在 小 鸟 位 置 的 移 动 的 同 时, 其 翅 膀 也 在 扇 动。 实 现 多 帧 位 移 动 画 需 要 在Timer 事 件 过 程 中 同 时 处 理Image 对 象 的 图 象 更 替 和 位 置 移 动。
---- 下 面 是 小 鸟 飞 翔 的 例 子。 程 序 启 动 时, 在 窗 体 中 显 示 一 只 小 鸟, 用 鼠 标 左 键 点 击 它, 则 小 鸟 将 开 始 扇 翅 飞 翔, 如 碰 到 窗 体 的 边 界, 小 鸟 将 改 变 飞 翔 方 向; 再 用 鼠 标 左 键 点 击 小 鸟, 则 小 鸟 将 停 止 飞 翔。 位 图 文 件bird1.bmp~ bird4.bmp 分 别 表 现 了 小 鸟 飞 翔 时, 其 翅 膀 的 不 同 位 置, 它 们 存 放 在 当 前 工 程 所 在 的 目 录 中。

---- 在 需 显 示 动 画 的 窗 体(Form1) 中 设 置Image 对 象Image1 和Timer 对 象Timer1, 并 按 下 表 设 置 它 们 的 属 性, 未 列 出 的 属 性 使 用 缺 省 值。

.
.
.


五、 缩 放 动 画

---- 气 球 的 膨 胀 或 缩 小 是 缩 放 动 画 的 典 型 例 子。 在Timer 事 件 过 程 中 修 改Image 对 象 的Width 和/ 或Height 属 性, 便 可 实 现 缩 放 动 画。 但 如 果 要 表 现 物 体 的 同 心 缩 放, 则 还 应 同 时 还 需 移 动Image 对 象。
---- 下 面 是 模 拟 气 球 在 空 中 缩 放( 同 心) 的 例 子。 程 序 启 动 时, 在 窗 体 中 显 示 一 只 气 球, 用 鼠 标 左 键 点 击 它, 则 气 球 将 开 始 膨 胀, 如 碰 到 窗 体 的 边 界, 气 球 将 缩 小, 缩 小 到 原 来 大 小 时, 又 将 膨 胀; 再 用 鼠 标 左 键 点 击 气 球, 则 气 球 将 停 止 缩 放。 位 图 文 件Balloon.bmp 存 放 在 当 前 工 程 所 在 的 目 录 中。

---- 在 需 显 示 动 画 的 窗 体(Form1) 中 设 置Image 对 象Image1 和Timer 对 象Timer1, 并 按 下 表 设 置 它 们 的 属 性, 未 列 出 的 属 性 使 用 缺 省 值。

对象
属性
设置值
Image1
Picture
...(工程文件所处路径)\Balloon.bmp
.


云计算如何影响数字化营销? 榜单:十位帮我们打理数据的存储大佬 OpenStack Grizzly版发布 Comcast、CERN成为新会员 谷歌携Blink来势汹汹 WebKit将成明日黄花? 星巴克与苹果合作 顾客可免费下载付费App 微信回应信令争议 将启动2.5G网络优化计划 凤凰网CTO吴华鹏离职 先后供职长达10年 外媒:开发者每周编码时间仅19.1小时 AppGratis CEO现身说法:应用被苹果儆杀始末 一个Web设计师眼里的云计算 戴尔高管:服务器业务领先惠普五年时间 Hoodie:基于JS与CouchDB的超快速Web开发框架 设计优秀API的五大规则 盘点英特尔IDF2013第一天:技术产品新趋势 英雄组队去打怪!Nimble Quest开发团队访谈 云通讯平台打造本土Twilio 被逼无奈?传微软或明年秋发布iOS和Android版Office 欧洲各国政府将向大众开放公共数据 访联想云存储罗予晋:优化MooseFS,共建生态系统 磊友创始人赵霏:关于HTML5与Flash争执之我见 国际混乱C语言代码大赛优胜作品详解之“A clock in one line” 揭秘程序员大脑编程的七大“误区” 从Java到ObjC语言的桥梁:谷歌J2ObjC 0.7版本亮相 数据库管理系统ParElastic:打破常规 扩展云端MySQL 谷歌苹果专利纠纷意在战略无意和解 美法官为其苦恼 Facebook收购神秘移动软件创业公司Osmeta 修改驱动,使用Erlang+VoltDB实现每秒87.7万事务 横评美国IaaS“8匹狼”:AWS、GCE、Azure、Rackspace、SoftLayer、Dell、HP、Joyent 独立游戏精神释放的舞台:IGF China 2013作品火热征集中 三款热门入门级在线编程教程对比 微软modern.IE:网站兼容性测试利器 急需foxpro for win版,哪有??? 请教一下,ado.net里如何返回表里的行数? 如何在HTML页面中使用 Acrobat 的 PDF 阅读器控件 关于一个遗传算法得问题!! 请问一个TSR问题! 关于跨数据库查询的问题 请问在ListBox中可不可以将每一行字符串设置成不同的颜色? vb6.0中如何将dbgrid里的内容添加到数据库里? 请问怎样才能将窗体上的最大化按钮设置成无用,而保留最小化按钮? 各位专家:请问win2000 PRO 下的config.msi目录中的好多以rbf为扩展名的文件是什么文件?有什么用?可以删除吗? ASP.NET中DATAGRILD的烦人处 新手问两个简单的问题??? 想知道如何才能看见前页纸油笔写过后留下的字迹?(散分) 为什么用odbc连接的paradox表不能编辑? 哪位大侠帮看一下代码(关于链表),为何出"invalid type argument of `->'"的错 一个非常非常想从事计算机软件开发的愿望 关于Hook的一个小问题 文档视图结构中无法显示编辑框,怎么办啊??用什么代替啊 十万火急! 通过网络,进行语音聊天的程序。 你了解人工受精吗? 有关“无纸化考试系统”bow api中的常量 关于addslashes的问题 有关“无纸化考试系统”的问题??thanks all,bow 如何删除windowsXP?紧急!!! 【数据结构】考试用的是类pascal还是c语言 我想往服务器中传文件。请问,需要组件吗? 如何写naked function的prolog 和 epilog? LoadIcon(NULL,IDR_QQ) 关于用c写聊天室 帮忙看看是不是session_start()惹的祸 请问谁知道那里有php源码下载的好站,贴几个出来看看 一妹妹姐姐程序员求职,找深圳的工作 初级问题:RichEdit控件的ScrollBy方法自动滚动 推荐一个毕业设计题目,不要太难,我学的流体,用VC来做一个什么东西,推荐一个,谢谢. 今天中午饭后练习时台球斯诺克单杠52分~~~ 二个问题,第二个问题比较难! Windows.Net 3607 简体中文版下载,要的话赶快,不然链接要被删除了. From left to right: Jini, Mini, and Umji 请问我应该如何把图片存储在数据库里啊(急啊) 成都的高程何时报名,在哪,电话,何时考?? 有关access与sql的比较。 百思不解,请指点迷津 看点什么好 在PB作安全管理时,要编历菜单,而我问的问题是... 发现触发器的问题 有个小问题.请高手们回复一下.谢谢 请问怎样用lotusscript生成一个文本文件,并写值? 请问各位,哪有英语听力mp3下载?(送分) 问题!斑竹看过来! 大家觉得 人民邮电 出的那套怎么样? 一个三位数,十位上是0,个位与百位上的数字之和是9,如果把这个三位数的个位数字与百位数字对调,则得到的新三位数比原三位数大693,求原来的三位数 直角三角形中两直角边长ab,斜边为c,斜边高h,说明1/a^2+1/b^2=1/h^2用初二能看明白的算法 写出算法 任意画一个△ABC,作下列旋转:(1)以A为中心,把这个三角形逆时针旋转40°(2)以B为中心,把这个三角形顺时针旋转60° (3)在三角形外任取一点为中心,把这个三角形顺时针旋转120° (4) 以AC中 一个三位数,十位上是0,个位与百位上的数字之和是9,如果把这个三位数的个位数字与百位数字对调,则得 设直角三角形直角边为a,b,斜边c上高为h,则以c+h,a+b,h为边的三角形是 三角形 三角形ABC怎么绕逆时针旋转90° 一个三位数,十位上是0,个位上与百位上的数字之和是9,如果把这个三位数的个位与百位对调,则得到新的三位数比原来的三位数大693,求原来的三位数. 直角三角形两条直角边为a b斜边为c斜边的高为h则以c+h a+b h 为边构成的三角形的形状是什么怎么办啊 1:2000的图用什么多大纸画不懂,有知道的吗? 已知:如图,在△ABC中,AB=13,BC=10,BC边上的中线AD=12.求证:△ABC是等腰三角形 一个三位数,十位数上是0.个位与百位上的数字之和是9.如果百位和各位对调之后两数相差693.求原来的三位有算式 一直角三角形中一条直角边比另一条直角边大d厘米,斜边上高时h厘米,求斜边的长 在rt三角形abc中,角c是90度,ac是3,bc是4.以c为圆心,当半径是2.4时,r与ab有什么位置关系? 关于确定一次函数表达式的题.已知y与x成正比例,且x=3时,y=-6,则y与x的函数关系式是?若直线y=kx+1,经过点(3,2),则k=?已知一次函数y=kx-2,当x=2时,y=-6,则当x=-3时,y=?若一次函数y=kx-(2k+1)的图像与y轴交 如图是一个长12cm,宽4cm,高3cm的无盖铁盒,在其内部要放一根笔直的铁丝,则铁丝的长度最长是多少求求大家画出 展开这个图帮我分析,不要复制原有答案,答得好的再追加50分 在RT三角形ABC中,角B =90',AB=6厘米,BC=8厘米.点P由A 出发沿AB,边向点B 以1厘米/S的速度移动,点Q由点B 出发沿BC 边向C 以2厘米/S的速度移动.如果点P,Q 分别从点A,B 同时出发,那么经过几秒后QP平行AB?有 确定一次函数表达式的两道简单题1.已知一次函数的图像过点(0,1)和点(2,-1)点M(m,二分之一)在图像上,则m的值是______.2.一次函数y=bx+2的图像经过点A(-1,1),则b=_____.写出方法教我 把一个图形先按1:2缩小后再按3:1放大得到的图形与原图形比较是A变大了B缩小了C大小一样 Rt三角形ABC中,角C=90°,AC=3cm,BC=4cm,以C为圆心,r为半径的圆与AB有什么位置关系?1、r=2cm 2、r=2.4cm 3、r=3cm’ 有一个三位数,个位数字为百位数字的2倍,十位数字比百位数字大1,若将此数个位数字与百位数字顺序对调,所得的新数比原数的2倍少49,求原数. 游泳池的长和宽缩小为实际长度1/500后画出的平面图,这个游泳池实际深2米,它最多能装多少立方米的水? 宽度约为130像素,高度约为160像素,宽高比例为1.3:1.6左右,jpg格式,30kb 以下.急. 有一个三位数,个位数字为百位数字的2倍,十位数字比百位数字大1,若将此数个位于百位顺序对调(个位变百位)所得的新数比原数的2倍少49,求原数 如果两个直角三角形相似,相似比为1:2,那么它们斜边上高的比为 宽度约为130像素(110~160之间),高度约为160像素(130~200之间),宽高比例为1.3:1.6左右,近期正面免冠1寸 有一个三位数,个位数字为百位数字的2倍,十位数字比百位数字大1,若将此数个位与百位顺序对调 在三角形ABC中,cosA=4/5,求sin^2A+B/2+cos2A的值 一元二次方程(x-1)(x-2)=0的两个根为x1,x2,且x1,x2,且x1>x2,则x1-2x= 直角三角形两直角边分别为5厘米,12厘米.其斜边上高为多少 25.已知:二次函数 的图象经过点(1,0),一次函数图象经过原点和点(1,-b),其中 且 、 数学七年级第七章与三角形有关的角.CE是ABC的外角角ACD的平分线,且CE交BA的延长线于点E,证明角BAC大于数学七年级第七章与三角形有关的角。CE是ABC的外角角ACD的平分线,且CE交BA的延长线于点 一个直角三角形他的两条直角边分别是3分米和4分米,斜边是5分米,求他的斜边上高是多少?女儿的数学题 若两个数的和为5,积为6,求以这两个数为根的一元二次方程(主要是过程) CF是三角形ABC的外角∠ACD的平分线,且CE交BA的延长线于点E,证明∠BAC>∠B.这道问题在初一下册数学书的第77页的第10题(人教版)注意结尾是∠BAC>∠B.而不是“=”. 一个等腰直角三角形斜边和斜边上高的和是21则斜边的长是多少 一个两位数,其十位数是a,个位数是b,如果它们的位置对调,得到一个新的两位数,则原来两位数与新的两位数的差必定是9的倍数,你能说明其中的理由吗? CE是三角形ABC的外角角ACD的平分线,且CE交BA的延长线于点E,证明角BAC等于角B加2角 一个直角三角形3,4,5 斜边上高线分成2个直角三角形,这两个小三角形的内心连线长度 一个两位数,个位上的数字与十位上的数字之和是7,若把个位与十位数字对调,则所得的两位数比原两位数大27求这个两位数. CE是三角形ABC的外角,角ACD的平分线,且CE交BA的延长线天点E,证明角BACD大于角B 已知直角三角形斜边的长是斜边上高的4倍,求两个锐角的度数 已知:一次函数y=kx+b的图像与y轴的交点到原点的距离为3,,且过A(2,1)点,求它的解析式. 如图在三角形abc中,ab=17,bc=16,bc边上的中线ad为15,三角形abc是等腰三角形吗?为什么 用24厘米的铁丝围成一个直角三角形,这个三角形三条边长度的比是3:4:5,求这个直角三角形的面积. 一次函数y=kx+b的图像过点(-1,- 3),且与x轴,y轴的交点到原点的距离相 等,那么它的表达式不可能是 y等于x-2y等于-3x-6 在△ABC中,AB=17,BC=16,BC边上的中线AD=15,求ABC的形状 用24厘米的铁丝围成一个直角三角形,这个三角形三条边长度的比3:4:5,这个直角三角形斜边是多少厘米? 一个半圆形花池,画在比例尺是1比500的图纸上.量出图上相关. 已知a+b+c=3,a^2+b^2+c^2=3,求a^2010+b^2011+c^2012 在三角形ABC中,AB=AC=12,∠BAC=150°,CD垂直于BA的延长线于D点,求D点到A点的距离 如图,三角形ABC中,角ACB=90度,AC=BC,将三角形ABC绕点C逆时针旋转角a(0度 已知c为负整数,且a,b,c满足(a-1)^+|2b+2|=1+c,则(a+b)^2009+a^2010+b^2011+c^2012= 一次函数y=x-4与y=-x+2的图象交点的坐标是()这个交点到x轴的距离是()到y轴的距离是()到原点的距离一次函数y=x-4与y=-x+2的图象交点的坐标是()这个交点到x轴的距离是(),到y轴的距 在三角形abc中,ac=bc,bc边上的中线ad把三角形的周长分为12厘米15厘米两部分,求三 如果2010分之A=2011分之B=2012分之C,则A:B:C= 一次函数y=x-4与y=-x+2的图像的交点到原点的距离是? 已知在三角形ABC中,AB=3厘米,BC边上的中线AD,把三角形ABC分成了周长差为1厘米的两个三角形,求AC的长.(两种情况) 已知a=2011x+2010,b=2011x+2011,c=2011x+2012,求a2+b2+c2-ab-ac-bc的值a2,b2,c2,为a的平方,b的平方,c的平方. 在三角形ABC中,AB=AC,E是AB的中点延长AB到D,使BD=BA,求证CD=2CE 将一个三角形ABC绕点A逆时针旋转90度,A(0,4),B(-4,0)C(0.0)c'(4,4)B’(4,0),原三角形ABC内一点P(a,b),旋转后p‘坐标为,方法听老师讲过,不记得了,好像是找出已知3个点坐标变化规律,列一
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘