提供给我点思路吧!!!!

shiyunlong 2004-12-25 03:11:03
如何实现礼花动画效果(要求:没有VB窗体做依托,也就是在屏幕内只有爆炸的礼花,而没有窗体的痕迹)
...全文
162 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
shiyunlong 2004-12-27
  • 打赏
  • 举报
回复
谢谢大家
马上给分
asmgirl 2004-12-26
  • 打赏
  • 举报
回复
gz
wfhlxl 2004-12-25
  • 打赏
  • 举报
回复
in htm uses vbscript or jscript write . set htm to wallpaper
wfhlxl 2004-12-25
  • 打赏
  • 举报
回复
in htm uses vbscript or jscript write . set htm to wallpaper
TechnoFantasy 2004-12-25
  • 打赏
  • 举报
回复
to:WallesCai
礼花的算法很多,建议你看一下DX SDK中VB的这个礼花的代码。
daisy8675 2004-12-25
  • 打赏
  • 举报
回复
哪个用JS倒是非常容易做得出来ei...
VB做下雪的效果倒是容易做,但是礼花偶是没做过....
ryuginka 2004-12-25
  • 打赏
  • 举报
回复
up
熊孩子开学喽 2004-12-25
  • 打赏
  • 举报
回复
我不敢苟同楼上的几位的说法。
难道用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 Sub

Private 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 Sub

Private 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 Sub

Private 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分钟来写和调试。
希望对楼主有帮助!
TechnoFantasy 2004-12-25
  • 打赏
  • 举报
回复
你可以下载一个DirectX SDK,里面有一个VB的范例就是实现你需要的礼花效果的。
cso 2004-12-25
  • 打赏
  • 举报
回复
directX写图象程序效果很好的,蛮快的
TalentAyee 2004-12-25
  • 打赏
  • 举报
回复
支持用directX,效果很好,自己写代码太没适用性了
ljhdi 2004-12-25
  • 打赏
  • 举报
回复
关注一下
tztz520 2004-12-25
  • 打赏
  • 举报
回复
用flash做
http://community.csdn.net/Expert/topic/3656/3656690.xml?temp=.5913965
pweixing 2004-12-25
  • 打赏
  • 举报
回复
同意!
wwqna 2004-12-25
  • 打赏
  • 举报
回复
用directx吧,自己写代码实现那不是累死人

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧