如何使用VB制作能弹来弹去的小球

2025-09-26 07:03:20

1、首先我们打开VB程序,在程序中拖出一个比较大的框。

如何使用VB制作能弹来弹去的小球

2、然后我们在shape工具里面画出一个矩形,在右侧属性面板里的shape属性改为3-Circle 这样出来的就是一个圆。然后将fillstyle改为0-solid, 在fillcolor属性中将圆内部填充颜色改为你喜欢的颜色。

如何使用VB制作能弹来弹去的小球

3、然后在面板中放置4个timer控件,从左到右依次为timer1 timer2 timer3 timer4,其中timer1主要用来总控制其他三个timer控件,timer2主要用来处理当小球低于最低水平线时候的情况。timer3主要是控制小球正常的运动以及控制timer4的开关。timer4主要处理当小球到最右边时的情况。

如何使用VB制作能弹来弹去的小球

4、然后开始编程。先双击面板,编写初始函数,也就是初始设定,包括小球的位置大小以及timer控件的属性等等。

如何使用VB制作能弹来弹去的小球

5、timer1主要控制各开关的开关,当然也包含几条控制小球运动的代码,主要是为了让思路更加清晰而做。enabled相当于开关,其值为true时代表可以使用,而为false时代表不可使用。

如何使用VB制作能弹来弹去的小球

6、timer2代码。其中me.表示的是整个form的属性,也就是说用小球运动的属性值与me.进行比较限制了小球运动的位置,从而让小球在到达边缘时转换方向。

如何使用VB制作能弹来弹去的小球

7、timer3是比较复杂的一个控件,因为它不仅仅承担了控制小球运动的任务,同时承担了控制timer2和timer4的作用,当然有几行代码比如一些无关紧要的enabled=true/false可以不写,但为了整齐还是写上最好,同时也方便后续的修改。

如何使用VB制作能弹来弹去的小球

8、timer4相对就没有那么复杂,同样,一些无关紧要的可以不写。

小Tip:如果发现程序运行起来有问题,那么就按照自己写的代码从脑子里走一遍,程序运行到哪里就看哪里的代码,这样很容易就可以找到自己错在哪里。

如何使用VB制作能弹来弹去的小球

9、这样小球的程序就做好了。看上去挺容易,其实对于初学者来说还是一个相当大的挑战,关键是思路要清晰。

代码在下面。

如何使用VB制作能弹来弹去的小球

10、Private Sub Form_Load()

Timer1.Enabled = True

Timer2.Enabled = False

Timer3.Enabled = False

Timer4.Enabled = False

Timer1.Interval = 200

Timer2.Interval = 200

Timer3.Interval = 200

Timer4.Interval = 200

Shape1.Width = 500

Shape1.Top = 500

Shape1.Left = 500

End Sub

Private Sub Timer1_Timer()

If Shape1.Top + Shape1.Width > Me.Height Then

  Timer2.Enabled = True

  Timer3.Enabled = False

  Timer4.Enabled = False

ElseIf Shape1.Top >= 0 And Shape1.Width + Shape1.Left <= Me.Left And Shape1.Top + Shape1.Width <= Me.Height Then

  Timer2.Enabled = False

  Timer3.Enabled = True

  Timer4.Enabled = False

ElseIf Shape1.Top < Me.Height Then

  Shape1.Left = Shape1.Left - 900

  Shape1.Top = Shape1.Top + 600

  Timer2.Enabled = False

  Timer3.Enabled = False

  Timer4.Enabled = False

End If

End Sub

Private Sub Timer2_Timer()

If Shape1.Left + Shape1.Width <= Me.Width Then

  Shape1.Left = Shape1.Left + 700

  Shape1.Top = Shape1.Top - 250

  Timer1.Enabled = False

  Timer3.Enabled = False

  Timer4.Enabled = False

ElseIf Shape1.Left > Me.Width Then

  Timer2.Enabled = False

  Timer4.Enabled = True

End If

End Sub

Private Sub Timer3_Timer()

If Shape1.Top + Shape1.Width < Me.Height And Shape1.Width + Shape1.Left < Me.Width And Shape1.Top > 0 Then

  Shape1.Left = Shape1.Left + 400

  Shape1.Top = Shape1.Top + 150

  Timer1.Enabled = False

  Timer2.Enabled = False

  Timer4.Enabled = False

ElseIf Shape1.Top + Shape1.Width >= Me.Height Then

  Timer1.Enabled = False

  Timer3.Enabled = False

  Timer4.Enabled = True

ElseIf Shape1.Left + Shape1.Width > Me.Width Then

  Timer1.Enabled = False

  Timer3.Enabled = False

  Timer4.Enabled = True

ElseIf Shape1.Top <= 0 Then

  Timer1.Enabled = True

  Timer2.Enabled = False

  Timer3.Enabled = False

  Timer4.Enabled = False

End If

End Sub

Private Sub Timer4_Timer()

If Shape1.Top > 0 And Shape1.Left > 0 Then

  Shape1.Top = Shape1.Top - 300

  Shape1.Left = Shape1.Left - 200

ElseIf Shape1.Top < 0 Then

  Timer1.Enabled = True

  Timer2.Enabled = False

  Timer3.Enabled = False

  Timer4.Enabled = False

ElseIf Shape1.Left <= 0 Then

  Timer1.Enabled = False

  Timer2.Enabled = False

  Timer3.Enabled = True

  Timer4.Enabled = False

End If

End Sub

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢