桌面上飘雪特效程序

这是一个使用C++编写的Windows桌面飘雪特效程序,通过创建定时器和高性能计数器来控制雪点的运动。程序初始化随机雪点位置、颜色和速度,并模拟雪点下落过程中的风向变化、粘贴效果和边界处理,实现逼真的飘雪视觉效果。
#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<iostream.h>
const int SnowNumber=500; //雪点数量
struct SnowNode
{
POINT postion;  //雪点位置
int   iColor; //先前的颜色
int   iSpeed; //下落速度
int   iMove; //下落距离
int   iStick; //粘贴度
};
SnowNode SnowNodes[SnowNumber]; //雪点数组
int   hTimer=0;
int   CrWind=0;
int   CrStep=0; //当前循环步数(用于限速)
int   ScreenWidth=0;  //屏幕宽度
int   ScreenHeight=0;  //屏幕高度
void GetScreenSize();
void CALLBACK TimerProc(HANDLE hWnd,UINT uMsg,UINT idEvent,DWORD dwTime);
void InitSnowNodes();
void MoveSnowNodes();
int WINAPI  WinMain(HINSTANCE hInstance,
       HINSTANCE hPrevInstance,
       LPSTR  lpCmdLine,
       int   nCmdShow
       )
{

MSG msg; //标准windows消息
LARGE_INTEGER Frequency; //高性能定时器频率
LARGE_INTEGER StartCt,EndCt;//高性能定时器计数
float ElapsedTime;      //时间间隔
srand((unsigned)time(NULL));
GetScreenSize();
InitSnowNodes();
QueryPerformanceFrequency(&Frequency);
hTimer=SetTimer(0,0,rand()%5*500,(TIMERPROC)TimerProc);
if(hTimer==0)
{
  MessageBox(0,TEXT("创建定时器失败"),TEXT("提示"),MB_OK|MB_ICONINFORMATION);
  return -1;
}
RegisterHotKey(0,0,MOD_
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值