电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 图形图象-> 3DMAX教程
在vb应用软件中实现动画效果_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
在开发VB应用程序中,加入了动画之后可使软件具有生动活泼的效果,而且,在编写组态软件中,动画功能更是必不可少,如容器中容量的变化、液体液面的变化等,实际也是一种动画效果。在中科院空间中心开发的“电场和电导率监测网中心站专家系统”中,有多处使用动画效果,现简明介绍如下。

----一、使用Animation控件

----在VB5.0中可以使用Animation控件实现动画,实例如下:

PrivateSubAnimation1_Click()
WithCommonDialog1
Filter="avi(*.avi)|*.avi"
过滤器指定在对话框的文件列表框中显示文件的类型
.ShowOpen
显示“打开”对话框
EndWith
WithAnimation1
.Autoplay=True

----一旦将.avi文件加载到Animation控件中,则.avi文件将连续循环的自动播放。

.OpenCommonDialog1.Filename

----打开一个将要播放的.avi文件。如果AutoPlay属性为True,则只要加载该文件便可。

EndWith
EndSub

----Animation控件不能播放含有声音数据的.avi文件。此外,动画控件只能显示未压缩的或用行程编码(RLE)压缩的.avi文件。当用文件调用Open方法时,如果该文件含有声音数据,或不具备特定的压缩格式,则返回错误。

----二、使用AniPushButton(AniButton)控件

----受WINDOWS/NT超级终端动画效果的影响,笔者也希望在开发的应用软件中加入转动地球的效果。首先用PHOTOSHOP制作一些图画,地球的图像是用一个地球仪临摹取得的,每次将地球仪转动一个固定的角度,得到一幅不同角度地球的图像,重复多次,且将每一幅图存为一个.bmp文件,供AniPushButton调用。

----AniPushButton控件包含了大量的属性、方法、事件供开发人员使用。首先在Picture和Frame属性中装入图像文件,Picture属性可以装入多幅图像文件,帧Frame属性是Picture属性装入图像文件的索引,Frame属性是1对应第一个图像文件,注意,Frame只能从1开始,而图像数组可以从0开始,这两个属性可以在属性设计时设置,也可以在程序中设置,Picture属性可以装入.bmp、.ico、.wmf等文件,其他格式的图像文件可以用PHOTOSHOP或SEA等文件进行格式转换,在动画的图像文件装入时,不是装入一幅图像文件,而是要在Frame属性的控制下,装入多幅图像文件,Frame为1,Picture装入第一幅图像文件,Frame为2,Picture装入第二幅图像文件,依次类推,将可产生动画效果的各种图像依次装入Picture属性中。

----PicDrawMode属性用于设置显示图像与装入图像之间的比例关系。0为控制按设计的大小装入图像,1为控制按图像的大小自动调整边框的大小,2为图像按控制的大小放大或缩小原图Caption属性,为了不影响动画的效果,这里清空Caption属性。

----Speed属性,表示动态切换每幅图的速度,以毫秒ms为单位,值越大,切换速度越慢。

----SpecialOp属性,该属性在设计时无效,只有在程序运行时软件设置,为1时,表示模拟鼠标的Click操作,不由用户操作触发,而由系统自动触发动画按钮,使控制执行Click功能,在下面的软件中使用定时器来激活该功能。在下面的程序中,用到的一些参数值,包括Picture和Frame都是在程序中设置的,不是在属性对话框中设置的。

PrivateSubForm_Load()
Withtimer1设定时器属性
.Enabled=False
.Interval=600
EndWith
WithAniPushButton1设AniPushButton1各属性
.Enabled=True激活
.Cycle=0
.Caption=""
.PictDrawMode=1按图像的大小自动调整
.Speed=200帧切换速度
.Frame=1用LoadPicture方法给Picture属性赋值
.Picture=LoadPicture("c:\earth1.bmp")
.Frame=2
.Picture=LoadPicture("c:\earth2.bmp")
.Frame=3
.Picture=LoadPicture("c:\earth3.bmp")
.Frame=4
.Picture=LoadPicture("c:\earth4.bmp")
.Frame=5
.Picture=LoadPicture("c:\earth5.bmp")
EndWith

EndSub

SubCmd_Start_Click()开始命令按钮启动定时器
timer1.Enabled=-1
EndSub

SubTimer1_Timer()
AniButton1.SpecialOp=1实现鼠标的Click操作
EndSub

----三、使用PictureClip控件实现动画

----该控件提供了存储多个图像信息的技术,其访问方式不是向AniPushButton依次切换每幅图像,而是先将多幅图像依次有序存放在一个.bmp文件中,.bmp中的图像将被均匀分割成许多小块,每一块作为动画切换的一幅图。

----下面的程序将实现一个转动陀螺的动画效果。

----在程序的声明段定义变量:

DimyAsInteger
DimtoggleAsInteger

PrivateSubForm_Load()
picture1.Picture=PictureClip1.
GraphicCell(0)使用第一幅为开始帧
y=0
toggle=0
EndSub

PrivateSubcmd_onoff_Click()开关命令按钮
Iftoggle=0Then
cmd_onoff.Caption="停止"
toggle=1
Else
cmd_onoff.Caption="旋转"
toggle=0
EndIf
EndSub
PrivateSubTimer1_Timer()
Iftoggle=1Thenspin满足条件,调图切换子程序
EndSub
PrivateSubspin()
y=y 1:Ify=17Theny=0
picture1.Picture=PictureClip1.
GraphicCell(y)图切换一帧
EndSub

----在上面的程序中,使用了命令按钮、图片控件、定时器和图像剪切控件等功能,其中最主要的是制作图像文件。图像文件制作分两个过程,首先制作单个的图像文件,然后,将这些图像文件合并成一个图像文件,存于一个.bmp文件中,在图像合成时可使用WINDOWS/95中的“画图”,用粘贴的方法完成。注意,在图像合成时,应设置状态栏参数以确定图像的精确位置,否则,在动画过程中,图像会出现跳动和不稳定感。

----四、使用Image实现动画效果

----该功能用定时器控件来控制移动和地球转动的速度,当然,其速度还与程序中设定的步长有关系,具体程序片段如下:

PrivateSubForm_Load()
Timer_animate.inteval=100INTEVAL属性为100ms
Timer_animate.enabled=true启动动画定时器
EndSub
PrivateSubTimer_animate_Timer()
Callani_Image定时调移动子程序
EndSub
SubIncrFrame()
FrameNum=FrameNum 1帧加1
IfFrameNum>5Then
最后一帧图像显示之后返回第一帧
FrameNum=1
EndIf
Imageearth(0).Picture=Imageearth(FrameNum).Picture
将该帧图像赋给运动的Imageearth(0)控件的Picture属性
EndSub
Subani_Image()控制移动子程序
SelectCaseMotion控制移动方向的变量
Case1向上和向左移动,步长50twips
Imageearth(0).MoveImageearth(0).
Left-50,Imageearth(0).Top-50
IncrFrame切换到下一幅图
IfImageearth(0).Left<=0Then向左移动到了边界
Motion=2向上和向右移动
ElseIfImageearth(0).Top<=0Then
Motion=4向上移动到了边界,改向下和向左移动
EndIf
Case2向右和向上
Imageearth(0).MoveImageearth(0).Left 50,
Imageearth(0).Top-50
IncrFrame
到了右边界,转为向左和向上
IfImageearth(0).Left>=(startform.Width
-Imageearth(0).Width)Then
Motion=1
ElseIfImageearth(0).Top<=0Then
Motion=3向右向下
EndIf
Case3向右向下
Imageearth(0).MoveImageearth(0).Left 50,
Imageearth(0).Top 50
IncrFrame
IfImageearth(0).Left>=(startform.Width
-Imageearth(0).Width)Then
Motion=4向左向下
ElseIfImageearth(0).Top>=
(startform.Height-Imageearth(0).Height)-680Then
Motion=2向右向上,其中680twips是标题和菜单的高度
EndIf
Case4向左向下
Imageearth(0).MoveImageearth(0).Left-50,
Imageearth(0).Top 50
IncrFrame
IfImageearth(0).Left<=0Then
是否到了左边界,如到了转向右向下
Motion=3
是否到了下边界
ElseIfImageearth(0).Top>=(startform.Height
-Imageearth(0).Height)-680Then
Motion=1向左向上
EndIf
EndSelect
EndSub->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·在vb中调用chm帮助的几种方法_visualbasic教程
·discreet最新发布的3ds max 7新功能速写_3dmax教程
·3ds max7再现《英雄》漫天黄叶_3dmax教程
·有线电视sms系统信息及内容采集(下)_视频通信
·基于ip网络的多点视频会议系统实现_视频通信
·有线电视sms系统信息及内容采集(下)_视频通信
·在vb应用软件中实现动画效果_visualbasic教程
·photoshop为照片mm打造幼嫩光滑又不失真的好皮肤_photoshop教程
·一看就会:3ds max7新增及改进功能_3dmax教程
·vbcom基础讲座之测试activexexes_visualbasic教程

最新文章
·photoshop滤镜轻松制作照片柔光效果_photoshop教程
·photoshop打造漂亮的水晶枫叶_photoshop教程
·photoshop将摄像头照片处理为抽线“非主流”图片_photoshop教程
·photoshop通道混合器调整偏色的思路和流程_photoshop教程
·3dsmax快速制作灯光光晕的方法和技巧_3dmax教程
·3dmax实例教程:用多边形制作精美匕首_3dmax教程
·photoshop cs3黑白转换控制功能处理黑白照片_photoshop教程
·3ds max粒子系统应用实例:轻松打造火焰特效_3dmax教程
·用3dsmax打造漂亮的水晶十字项链_3dmax教程
·详细介绍:apache+php+mysql配置攻略_php教程


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号