如何实现礼花动画效果(要求:没有VB窗体做依托,也就是在屏幕内只有爆炸的礼花,而没有窗体的痕迹)

解决方案 »

  1.   

    用directx吧,自己写代码实现那不是累死人
      

  2.   

    用flash做
    http://community.csdn.net/Expert/topic/3656/3656690.xml?temp=.5913965
      

  3.   

    支持用directX,效果很好,自己写代码太没适用性了
      

  4.   

    directX写图象程序效果很好的,蛮快的
      

  5.   

    你可以下载一个DirectX SDK,里面有一个VB的范例就是实现你需要的礼花效果的。
      

  6.   

    我不敢苟同楼上的几位的说法。
    难道用DX写这个效果就不用写算法了?且不说DX在使用的时候烦琐无比。更何况楼主问的是用VB作,你们却告诉他用DX做,根本没有什么帮助。楼主请试试看用无边框窗体做。在窗体上画出你要的效果。
    速度并没有你想像中那么慢。给你一个最简单的例子,用来实现很简单的烟花:
    新建一个工程,把窗体的Borderstyle属性设为0(无边框),
    加一个TIMER控件,把Intervel属性设为50。
    最后把下面这段代码贴进去运行一下看看效果。Private Type FlashDot
       X As Long
       Y As Long
       Vx As Long
       Vy As Long
       Ax As Long
       Ay As Long
       Color As Long
       VisibleTime As Long
    End Type
    Const DotCount As Long = 300
    Dim MaxY As Long
    Dim I As Long
    Dim AColor As Long
    Dim Flash(DotCount) As FlashDot   '定义300个粒子Private Sub Form_Click()
    End
    End SubPrivate Sub Form_Load()
    With Me
       .WindowState = 2
       MaxY = .ScaleHeight
       .BackColor = 0
       .ScaleMode = 3
    End With
    AColor = RGB(1, 1, 1)
    For I = 0 To DotCount
       InitFlash I
    Next
    End SubPrivate Sub Timer1_Timer()
    For I = 0 To DotCount
       With Flash(I)
          Me.PSet (.X, .Y), 0 '擦除旧的点
          .Vx = .Vx + .Ax     '计算新的X方向速度
          .Vy = .Vy + .Ay     '计算新的Y方向速度
          .X = .X + .Vx       '计算新的X方向位置
          .Y = .Y + .Vy       '计算新的Y方向位置
          .Color = .Color - AColor  '颜色变暗
          Me.PSet (.X, .Y), .Color  '画新的点
          If .Y > MaxY Then InitFlash I '如果落到地上,重新初试化点
       End With
    Next
    End SubPrivate Sub InitFlash(ByVal DotIndex As Long)
    With Flash(I)
       .X = Me.ScaleWidth \ 2
       .Y = MaxY + I - DotCount
       .Vx = Rnd * 21 - 10
       .Vy = -50 - Rnd * 50
       .Ax = 0
       .Ay = 3 + Rnd * 3
       .Color = RGB(220 + Rnd * 36, 200 + Rnd * 56, 210 + Rnd * 46)
    End With
    End Sub如果楼主在编译的时候改成 .scr后缀,则可以生成一个屏幕保护程序。
    以上这段代码,只花了我20分钟来写和调试。
    希望对楼主有帮助!
      

  7.   

    哪个用JS倒是非常容易做得出来ei...
    VB做下雪的效果倒是容易做,但是礼花偶是没做过....
      

  8.   

    to:WallesCai
    礼花的算法很多,建议你看一下DX SDK中VB的这个礼花的代码。
      

  9.   

    in htm uses vbscript or jscript write . set htm to wallpaper
      

  10.   

    in htm uses vbscript or jscript write . set htm to wallpaper