用VB制作下雪的特技景象 

                           用VB制作下雪的特技景象 
对于下雪的景象大家可能都不陌生,我们还是用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

  运行上面的小程序,就可以看到漫天的雪花在缓缓落下,地面上还会有积雪!鼠标单击可结束程序。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘要:VB源码,图形处理,VB恶搞程序,屏幕抖动   再分享一个Vb恶搞程序,屏幕抖动下雪下雪API声明(摘录):   GetDC()功能是获取指定窗体的设备场景的句柄(hDC),用参数0则可以获取整个屏幕的场景句柄   GetPixel用于取得场景(这里是整个屏幕)中某点的颜色值   释放由GetDC()获取的设备场景句柄,否则可能造成系统锁死   定义“区域”数据结构,但实际上并没有用到,因为仅需在函数InvalidateRect中传递一个空的RECT参数   Dim rect1 As RECT   Private Const ScrnWidth = 1024 ‘屏幕宽度(单位:像素)   Private Const ScrnHight = 768 ‘屏幕高度(单位:像素)   Private Const SnowCol = &HFEFFFE ‘雪花颜色   Private Const SnowColDown = &HFFFFFF ‘积雪颜色   Private Const SnowColDuck = &HFFDDDD ‘深色积雪颜色   Private Const SnowNum = 500 ‘同一时间飘动的雪花数量   Dim hDC1 As Long ‘存储桌面窗口设备句柄   Dim pData(SnowNum) As POINTAPI ‘存储每个雪花的位置信息   Dim pColor(SnowNum) As Long ‘存储画出雪花前屏幕原来的颜色   Dim Vx As Integer ‘雪花总体水平飘行速度   Dim Vy As Integer ‘雪花总体垂直下落速度   Dim PVx As Integer ‘单个雪花实际水平飘行速度   Dim PVy As Integer ‘单个雪花实际垂直飘行速度   确定当前位置没有与另一个雪花重叠,否则返回0,用于防止由于不同雪花重叠造成雪花乱堆,分别获取ColorCmp与对比点的蓝、绿、红部分的差值,画出一帧,即重画所有雪花位置一次,设置新的位置,i Mod 3用于将雪花分为三类采用不同速度,以便形成层次感。   注意,测试时候如果要停止程序,请在任务栏右键直接关闭程序字符串即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值