回 帖 发 新 帖 刷新版面

主题:如何实现一个小球从窗体顶部移动到底部后再移动至顶部?

如何实现一个小球从窗体顶部移动到底部后再移动至顶部?不停的循环,直至按一“停止”按钮。

回复列表 (共7个回复)

沙发

你的难点在哪里,说说看。

板凳


难点是:小球可以通过“top与hight”落到窗体的底部,但是不知道如何使它再移动到顶部。我起初还是用top与 hight,可是小球只能上移一次,就不又落下,再上移一次,如此反复。希望你能帮我解决这问题,谢谢了!

3 楼

关键是条件判断。

4 楼

Dim 运动方向 As Boolean
Const 步长 = 200 '如果要模拟自由落体及其反弹,则不用慈祥,而且需要修改timer里面的算式

Private Sub Command1_Click()
    Timer1.Interval = 100
End Sub

Private Sub Form_Load()
    Command1.Caption = "开始"
    Shape1.Shape = 3
    Shape1.FillColor = vbBlack
    Shape1.FillStyle = 0
End Sub

Private Sub Timer1_Timer()
    If 运动方向 Then
        Shape1.Top = Shape1.Top - 步长
        If Shape1.Top <= 0 Then 运动方向 = Not 运动方向
    Else
        Shape1.Top = Shape1.Top + 步长
        If Shape1.Top >= Me.ScaleHeight - Shape1.Height Then 运动方向 = Not 运动方向
    End If
End Sub

5 楼

我没有放“停止”按钮,如果需要,只须,
Private Sub Command2_Click()
    Timer1.Enabled = False
End Sub

6 楼

ding

7 楼

Private Sub Command1_Click()
    Timer1.Enabled = True
End Sub

Private Sub Form_Load()
    Timer1.Enabled = False
    Timer1.Interval = 50
End Sub

Private Sub Timer1_Timer()
    Label1.Top = Label1.Top + 100
    
    If Label1.Top > Form1.Height Then
        Label1.Top = 0
    End If
End Sub

我来回复

您尚未登录,请登录后再回复。点此登录或注册