请各位帮我该下这个代码!下面是一个图片移动,我想让图片在一根直线上运动,并且经过直线上面某几个点,点会边成绿色,没有经过那点就是红色的。
谢谢Option Explicit
Dim IsPlaying As Boolean
Dim DetaX%, DetaY%Private Sub Form_Load()
IsPlaying = False
Image1.ToolTipText = "开始"
DetaX% = 100
DetaY% = 0
End SubPrivate Sub Image1_Click()
If IsPlaying Then
IsPlaying = False
Timer1.Enabled = IsPlaying
Image1.ToolTipText = "开始"
Else
IsPlaying = True
Timer1.Enabled = IsPlaying
Image1.ToolTipText = "停止"
End If
End SubPrivate Sub Timer1_Timer()Image1.Move Image1.Left + DetaX%, Image1.Top + DetaY%
If Image1.Left + Image1.Width >= Form1.Width Then
Image1.Move Form1.Width - Image1.Width, Image1.Top
DetaX% = -DetaX%
ElseIf Image1.Top + Image1.Height >= Form1.Height Then
Image1.Move Image1.Left, Form1.Height - Image1.Height
DetaY% = -DetaY%
ElseIf Image1.Left <= 0 Then
Image1.Move 0, Image1.Top
DetaX% = -DetaX%
ElseIf Image1.Top <= 0 Then
Image1.Move Image1.Left, 0
DetaY% = -DetaY%
End If
End Sub

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3923/3923040.xml?temp=.7826197
    可以适当修改
      

  2.   

    给你顶顶,也给我顶顶.呵呵
    http://community.csdn.net/Expert/topic/3891/3891206.xml?temp=.3941156
      

  3.   

    IsPlaying = False'从一到终都为False,Timer1事件(如果设计时没有改变属性)没有触发!!
      

  4.   

    sorry ,上面说错了,这样修改:
    Private Sub Image1_Click()
    If IsPlaying Then
    IsPlaying = False
    Timer1.Enabled = IsPlaying
    Image1.ToolTipText = "开始"
    Else
    IsPlaying = True
    Timer1.Interval=1000'添加本行代码,1秒钟触发一次
    Timer1.Enabled = IsPlaying
    Image1.ToolTipText = "停止"
    End If
    End Sub