找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 134|回复: 5

[分享]用VB制作下雪的特技景象

[复制链接]
发表于 2004-9-19 09:54:00 | 显示全部楼层 |阅读模式
其实制作这样一个下雪的景象并不复杂,它的原理是首先在底色为黑色的屏幕上随机画出许多白点(雪花),然后使这些雪花不断地向下移动(重画),反复循环,就成功地模拟了下雪的景象。下面是这个小程序,你可以修改其中的一些数据调整雪花的密度和雪花落下的快慢。
双击窗体写如下代码:
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
OldX = Snow(I, 0): OldY = Snow(I, 1)
Snow(I, 1) = Snow(I, 1) + Snow(I, 2)
If Snow(I, 1) > Form1.Height Then
Snow(I, 1) = 0: Snow(I, 2) = 5 + (Rnd * 30)
Snow(I, 0) = Int(Rnd * Form1.Width)
OldX = 0: OldY = 0
End If
Coloury = 8 * (Snow(I, 2) - 10): Coloury = 60 + Coloury
PSet (OldX, OldY), QBColor(0)
PSet (Snow(I, 0), Snow(I, 1)), RGB(Coloury, Coloury, Coloury)
Next I
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
运行上面的小程序,就可以看到漫天的雪花在缓缓落下,地面上还会有积雪!鼠标单击可结束程序。  
 楼主| 发表于 2004-9-19 09:55:00 | 显示全部楼层
献丑了,有错高手们多多指点
回复

使用道具 举报

发表于 2004-9-25 15:20:00 | 显示全部楼层
想请问楼上兄台,你学过VB的吗?
我有一个朋友上次也弄个下雪的东西。不过怪好看的。
回复

使用道具 举报

发表于 2004-9-25 15:58:00 | 显示全部楼层
安技院人才还是有不少啊
回复

使用道具 举报

发表于 2004-9-25 18:37:00 | 显示全部楼层
可以有注释吗?
看得会更简单一些的
回复

使用道具 举报

 楼主| 发表于 2004-10-6 10:20:00 | 显示全部楼层
上面的VB语言不是很难懂的,虽然我不是对这个很精但是还是知道点皮毛的,比如上面的下雪的,了解一下里面的一些基本参数,其他的完全可以象HTML的特效一样拿过来引用的,不需要那么完全的记下来啊……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表