紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 4360|回复: 1

[其它源码] 用VB制作下雪的特技景象

[复制链接]

1214

主题

1566

帖子

11

精华

管理员

菜鸟

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
93743

贡献奖关注奖人气王精英奖乐于助人勋章

发表于 2010-8-8 14:49:31 | 显示全部楼层 |阅读模式
对于下雪的景象大家可能都不陌生,我们还是用VB来制作一个下雪的景象吧。其实制作这样一个下雪的景象并不复杂,它的原理是首先在底色为黑色的屏幕上随机画出许多白点(雪花),然后使这些雪花不断地向下移动(重画),反复循环,就成功地模拟了下雪的景象。下面是这个小程序,你可以修改其中的一些数据调整雪花的密度和雪花落下的快慢。
  双击窗体写如下代码:
  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
  运行上面的小程序,就可以看到漫天的雪花在缓缓落下,地面上还会有积雪!鼠标单击可结束程序。
【VB】QQ群:1422505加的请打上VB好友
【易语言】QQ群:9531809  或 177048
【FOXPRO】QQ群:6580324  或 33659603
【C/C++/VC】QQ群:3777552
【NiceBasic】QQ群:3703755

30

主题

723

帖子

0

精华

钻石会员

Rank: 6Rank: 6

积分
2815
发表于 2015-10-8 12:54:30 | 显示全部楼层
每天一贴 支持阿杰
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2024-4-28 07:29 , Processed in 0.022363 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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