帐号: 密码:
// 设为首页 // 收藏本站 // 请您留言 // 网址导航
远方教程-满足你的求知欲!
站内搜索:
HTML ASP PHP CSS DIV Dreamweaver Photoshop Word Excel PPT SEO技巧
您当前位置:网站首页 >> 统计之窗 >> VB专区 >> 阅读文章

VB应用举例07:在VB应用软件中实现动画效果

来源:远方教程 作者:VBFans 发布时间:2014-12-17 查看次数:6936 访问[新版]

  四、使用Image实现动画效果

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

Private Sub Form_Load() 
  Timer_animate.inteval=100   ’INTEVAL属性为100ms 
  Timer_animate.enabled=true  ’启动动画定时器 
End Sub 

Private Sub Timer_animate_Timer() 
  Call ani_Image         ’定时调移动子程序 
End Sub 

Sub IncrFrame() 
  FrameNum = FrameNum + 1    ’帧加1 
  If FrameNum > 5 Then     ’最后一帧图像显示之后返回第一帧 
    FrameNum = 1 
    End If 
    Imageearth(0).Picture = Imageearth(FrameNum).Picture  
    ’将该帧图像赋给运动的Imageearth(0)控件的Picture属性 
End Sub 

Sub ani_Image()          ’控制移动子程序 
    Select Case Motion      ’控制移动方向的变量 
    Case 1             ’向上和向左移动,步长50 twips 
        Imageearth(0).Move Imageearth(0). 
        Left - 50, Imageearth(0).Top - 50 
        IncrFrame        ’切换到下一幅图 
        If Imageearth(0).Left < = 0 Then  ’向左移动到了边界 
            Motion = 2  向上和向右移动 
        ElseIf Imageearth(0).Top < = 0 Then 
            Motion = 4  向上移动到了边界,改向下和向左移动 
        End If 
    Case 2    向右和向上 
        Imageearth(0).Move Imageearth(0).Left + 50, 
        Imageearth(0).Top - 50 
            IncrFrame           ’到了右边界,转为向左和向上 
        If Imageearth(0).Left >= (startform.Width - Imageearth(0).Width) Then 
            Motion = 1 
        ElseIf Imageearth(0).Top < = 0 Then 
            Motion = 3   ’向右向下 
        End If 
    Case 3     ’向右向下 
      Imageearth(0).Move Imageearth(0).Left + 50, 
      Imageearth(0).Top + 50 
          IncrFrame 
       If Imageearth(0).Left >= (startform.Width - Imageearth(0).Width) Then 
            Motion = 4   ’向左向下 
       ElseIf Imageearth(0).Top >= (startform.Height - Imageearth(0).Height) - 680 Then 
            Motion = 2     ’向右向上,其中680 twips是标题和菜单的高度 
        End If 
    Case 4   ’向左向下 
      Imageearth(0).Move Imageearth(0).Left - 50,Imageearth(0).Top + 50 
      IncrFrame 
      If Imageearth(0).Left < = 0 Then   ’是否到了左边界,如到了转向右向下 
            Motion = 3    ’是否到了下边界 
      ElseIf Imageearth(0).Top >= (startform.Height - Imageearth(0).Height) - 680 Then 
            Motion = 1     ’向左向上 
      End If 
    End Select 
End Sub
感谢VBFans投稿查看TA的其他文章>>
打印 打印 | 关闭 关闭 评论
相关文章
图片新闻
站内搜索  
搜索
猜您喜欢  
最新更新  
阅读排行  
关于我们 | 联系方式 | 大事记 | 免责声明 | | 给我留言
部分广告源自金山联盟2345联盟 QQ咨询 站长之家QQ群:232617873
Copyright 2024 远方教程 © All Rights Reserved.

回顶部