这个例子是模仿雪花从天而降的例子,通过这个实例的联系,更加熟悉DoEvents、二维数组、Circle方法、循环语句的使用。
设计过程:
Ⅰ、知识要点。
①DoEvents:转让控制权,以便让操作系统处理其它的事件
②二位数组的建立:建立二维数组来完成画圆的圆心坐标初始化
Ⅱ、界面设计:
很简单的一个界面,就将窗体背景改为黑色(让功能代码段中的雪花颜色定义为白色)
Ⅲ、功能代码:
Dim Snow(1000, 2), Amounty As Integer
Private Sub Form_Load()
Form1.Show
DoEvents
Randomize
Amounty = 325
For J = 1 To Amounty ’初始化数组
Snow(J, 0) = Int(Rnd * Form1.Width)
Snow(J, 1) = Int(Rnd * Form1.Height)
Snow(J, 2) = 10 + (Rnd * 20)
Next J
Do While Not (DoEvents = 0)
For LS = 1 To 10
For I = 1 To Amounty
Snow(I, 1) = Snow(I, 1) + Snow(I, 2) ’雪花下落效果
If Snow(I, 1) > Form1.Height Then
Snow(I, 1) = 0: Snow(I, 2) = 2 + (Rnd * 30)
Snow(I, 0) = Int(Rnd * Form1.Width)
End If
Circle (Snow(I, 0), Snow(I, 1)), 15 * Rnd, RGB(255, 255, 255) ’画圆
Next I
Form1.Cls ’ 清屏
Next LS
Loop
End
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Unload Me
End Sub
Ⅳ、注意事项(自己体会到的):
①一定要记住清屏
②一定要写判断超出窗体高度的语句