雪花特效是怎样做到的

如果玩过OSU的同学应该知道特效,没玩过的我在下面说明
让一个图像进行从屏幕上方从上到下的飘落…会在底部堆积
半透明的特效
可以随鼠标的位置吹风

很多年前写的一个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
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
Label1.Refresh
Loop
End
End Sub

@小恐龙 呃…我还没有学VB…不知道具体是什么意思

方法1.AE做出效果,导出每帧PNG,放PNG序列
方法2.按飘落算法自绘,如2楼

@BGLL 看来还要好好研究…

这种效果的源码网上有很多,如果你用delphi,这里有一个:

http://2ccc.com/article.asp?articleid=1714

@diystar 我研究看…