下载 >  课程资源 >  专业指导 > 非常小的雪花飘得程序
4

非常小的雪花飘得程序

圣诞节到了,制作了个非常小而且好看的程序,运行后可以看到雪花飘得场景!
2010-12-27 上传大小:86KB
分享
收藏 (5) 举报

评论 共5条

gftjsc 为什么弄那么多文件夹。我只是想看看效果。
2014-02-25
回复
rrrreepp 很好的一个程序
2014-01-03
回复
u013224451 效果非常好,很漂亮的雪花飘落
2013-12-22
回复
wamath 很漂亮 要能有3d就更好了
2013-09-08
回复
yuan_yuan_yuan09 效果非常好,很漂亮的雪花飘落
2013-05-08
回复
程序,桌面飘雪花

很漂亮的雪花,在桌面上飘,不错的圣诞贺卡哦,呵呵,亲,来下载吧。

立即下载
圣诞节桌面下雪效果的小程序

圣诞节桌面下雪效果的小程序,给朋友一份圣诞礼物吧,你的朋友一定会感到惊喜的!!

立即下载
桌面飘雪花源代码.雪花.桌面下雪源代码

桌面飘雪花.源代码.很适合初学者学习参考

立即下载
VB桌面下雪小程序【源码】随风飘动的雪花

随风飘动的雪花 桌面下雪 精简源码

立即下载
java 实现的飘雪花效果

java 实现的飘雪花效果.包含代码和所用到的图片资源。欢迎指正

立即下载
C语言编的漫天雪花飘落源代码

C语言编写的雪花飘落源代码

立即下载
java做的飘雪花效果

用JFrame画出来的飘雪花效果,适合java中JFrame画板的初学者

立即下载
vb程序屏幕飘雪!!!

'源代码 Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long 'GetDC()功能是获取指定窗体的设备场景的句柄(hDC),用参数0则可以获取整个屏幕的场景句柄 Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long 'GetPixel用于取得场景(这里是整个屏幕)中某点的颜色值 Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long 'SetPixel用于设置场景(这里是整个屏幕)中某点的颜色值 Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long '释放由GetDC()获取的设备场景句柄,否则可能造成系统锁死 Private Declare Function InvalidateRect& Lib "user32" (ByVal hwnd As Long, lpRect As RECT, ByVal bErase As Long) '清理窗口雪花 Private Type POINTAPI '定义坐标点结构 x As Long y As Long End Type Private Type RECT '定义“区域”数据结构,但实际上并没有用到,因为仅需在函数InvalidateRect中传递一个空的RECT参数 left As Long top As Long right As Long bottom As Long End Type 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 '单个雪花实际垂直飘行速度 '初始化雪花位置 Private Sub InitP(i As Integer) pData(i).x = Rnd() * ScrnWidth pData(i).y = Rnd() * 2 pColor(i) = GetPixel(hDC1, pData(i).x, pData(i).y) '取得屏幕原来的颜色值 End Sub '取得某一点与周围点的对比度,确定是否在此位置堆积雪花 Private Function GetContrast(i As Integer) As Long Dim ColorCmp As Long '存储用作对比的点的颜色值 Dim tempR As Long '存储CorlorCmp的红色部分,下同 Dim tempG As Long Dim tempB As Long Dim Slope As Integer '存储雪花飘落方向:Vx/Vy '计算雪花飘落方向 If PVy <> 0 Then Slope = PVx / PVy Else Slope = 2 End If '根据雪花飘落方向决定取哪一点作对比点, '若PVx/PVy在-1到1之间,即Slope=0,就取正下面的象素点 '若PVx/PVy>1,取右下方的点,PVx/PVy<-1则取左下方 If Slope = 0 Then ColorCmp = GetPixel(hDC1, pData(i).x, pData(i).y + 1) Else If Slope > 1 Then ColorCmp = GetPixel(hDC1, pData(i).x + 1, pData(i).y + 1) Else ColorCmp = GetPixel(hDC1, pData(i).x - 1, pData(i).y + 1) End If End If '确定当前位置没有与另一个雪花重叠,否则返回0,用于防止由于不同雪花重叠造成雪花乱堆 If ColorCmp = SnowCol Then GetContrast = 0 Exit Function End If '分别获取ColorCmp与对比点的蓝、绿、红部分的差值 tempB = Abs((ColorCmp And &HFF0000) - (pColor(i) And &HFF0000)) / &H10000 tempG = Abs((ColorCmp And &HFF00&) - (pColor(i) And &HFF00&)) / &H100& tempR = Abs((ColorCmp And &HFF&) - (pColor(i) And &HFF&)) '返回对比度值 GetContrast = (tempR + tempG + tempB) / 3 End Function '画出一帧,即重画所有雪花位置一次 Private Sub DrawP() Dim i As Integer For i = 0 To SnowNum '防止雪花重叠造成干扰 If pColor(i) <> SnowCol Then '还原上一个位置的颜色 SetPixel hDC1, pData(i).x, pData(i).y, pColor(i) End If '设置新的位置,i Mod 3用于将雪花分为三类采用不同速度,以便形成层次感 PVx = Rnd() * 2 - 1 + Vx * (i Mod 3) PVy = Vy * (i Mod 3 + 1) pData(i).x = pData(i).x + PVx pData(i).y = pData(i).y + PVy '取得新位置原始颜色值,用于下一步雪花飘过时恢复此处颜色 pColor(i) = GetPixel(hDC1, pData(i).x, pData(i).y) '如果获取颜色失败,表明雪花已飘出屏幕,重新初始化 If pColor(i) = -1 Then InitP i Else '否则若雪花没有重叠 If pColor(i) <> SnowCol Then '若对比度较小(即不能堆积),就画出雪花 'Rnd()>0.3用于防止某些连续而明显的边界截获所有雪花 If Rnd() > 0.3 Or GetContrast(i) < 50 Then SetPixel hDC1, pData(i).x, pData(i).y, SnowCol '否则表明找到明显的边界,画出堆积的雪,并初始化以便画新的雪花 Else SetPixel hDC1, pData(i).x, pData(i).y - 1, SnowColDuck SetPixel hDC1, pData(i).x - 1, pData(i).y, SnowColDuck SetPixel hDC1, pData(i).x + 1, pData(i).y, SnowColDown InitP i End If End If End If Next End Sub Private Sub Form_Load() Dim j As Integer Me.Caption = "桌面飘雪" '设置窗口标题 '设置计时器,Timer1用于画单帧,Timer2用于风向变化 Timer1.Enabled = True Timer1.Interval = 10 Timer2.Enabled = True Timer2.Interval = 2000 Randomize '初始化随机数种子 hDC1 = GetDC(0) '获取桌面窗口设备场景句柄 '初始化整个屏幕 For j = 0 To SnowNum pData(j).x = Rnd() * ScrnWidth pData(j).y = Rnd() * ScrnHight pColor(j) = GetPixel(hDC1, pData(j).x, pData(j).y) Next End Sub Private Sub Form_Unload(Cancel As Integer) ReleaseDC 0, hDC1 '释放桌面窗口设备句柄 InvalidateRect 0, rect1, 0 '清除所有雪花,恢复桌面 End Sub Private Sub Timer1_Timer() DrawP '画出一帧 End Sub Private Sub Timer2_Timer() '改变风向 Vx = Rnd() * 4 - 2 Vy = Rnd() + 2 End Sub '完,最后,需要两个Timer:Timer1、Timer2。

立即下载
js 实现全屏飘雪花 两个

简单易懂js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个 js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个js 实现全屏飘雪花 两个

立即下载
圣诞节桌面飘雪花的小例子

圣诞节桌面飘雪花的小例子 c#.net 2.0

立即下载
java桌面下雪祝福程序可直接运行.zip

这是一个java开发的祝福程序,包含了java编写的桌面下雪程序,java画心祝福,是追女孩子的必备啊,程序比较灵活,如果不想改太多,可以同xml配置自己的信息即可,生成的exe文件包含了jre文件,因此有点大哟,源码也在其中的,共两部分哟,要都下才可解压的(第二部分)

立即下载
java实现下雪雪花飘落效果

java实现下雪雪花飘落效果,供大家一起共同分享学习。

立即下载
一个非常美丽的下细密的全屏小雪花程序附源代码

一个非常美丽的下细密的全屏小雪花程序附源代

立即下载
C#写的桌面上漂雪花程序源代码

桌面上一直飘雪花,C#做的,有代码,有教程,可以自己学着做点其他的

立即下载
桌面飘雪花源代码

桌面飘雪花

立即下载
雪花的屏幕保护程序

可以手控雪花数量的屏幕保护,给你死静的桌面带来动感哦!

立即下载
c#桌面飘雪花

c#桌面飘雪花

立即下载
圣诞小礼物全屏雪花

狠好玩的一款屏保哦也可以当圣诞礼物送人 特别是是送给女孩子噢 亲

立即下载
程序可移动飘窗+横向滚动+悬浮窗口

小程序可移动飘窗+横向滚动+悬浮窗口;可根据需求进行改进

立即下载
圣诞礼物--雪花飘代码

12月25日圣诞礼物--雪花飘代码,经典

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

非常小的雪花飘得程序

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: