资源简介
c++实现下雪效果,简单的的雪花飘落效果。有背景图,雪花!

代码片段和文件信息
// canvasframe.cpp : implementation file
//
#include “stdafx.h“
#include “canvasr.h“
#include “canvasframe.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
struct snow
{
int x;
int y;
BOOL exist;
};
struct snow1
{
int x;
int y;
BOOL exist;
};
struct snow2
{
int x;
int y;
BOOL exist;
};
/////////////////////////////////////////////////////////////////////////////
// canvasframe
IMPLEMENT_DYNCREATE(canvasframe CframeWnd)
int icount;
snow drop[50];//后多,慢
snow drop1[50];//中
snow drop2[50];//前(快)
canvasframe::canvasframe()
{
Create(NULL“绘图窗口“);
CClientDC dc(this);
int width = dc.GetDeviceCaps(HORZRES);
int height = dc.GetDeviceCaps(VERTRES);
GetWindowRect( &rect );
width = ( width - ( rect.right - rect.left ))/2 ;
height = (height - (rect.bottom - rect.top ))/2 ;
MoveWindow( width height (rect.right - rect.left ) (rect.bottom - rect.top ) true);
GetClientRect(&rect);
mdc = new CDC;
mdc1 = new CDC;
mdc->CreateCompatibleDC(&dc);
mdc1->CreateCompatibleDC(&dc);
bgbmp = new CBitmap;
snow = new CBitmap;
mask = new CBitmap;
snow1 = new CBitmap;
mask1 = new CBitmap;
snow2 = new CBitmap;
mask2 = new CBitmap;
temp = new CBitmap;
bgbmp->m_hobject = (HBITMAP)::LoadImage(NULL“bground.bmp“IMAGE_BITMAPrect.rightrect.bottomLR_LOADFROMFILE);
snow->m_hobject = (HBITMAP)::LoadImage(NULL“snow.bmp“IMAGE_BITMAP1212LR_LOADFROMFILE);
mask->m_hobject = (HBITMAP)::LoadImage(NULL“mask.bmp“IMAGE_BITMAP1212LR_LOADFROMFILE);
snow1->m_hobject = (HBITMAP)::LoadImage(NULL“snow1.bmp“IMAGE_BITMAP1616LR_LOADFROMFILE);
mask1->m_hobject = (HBITMAP)::LoadImage(NULL“mask1.bmp“IMAGE_BITMAP1616LR_LOADFROMFILE);
snow2->m_hobject = (HBITMAP)::LoadImage(NULL“snow2.bmp“IMAGE_BITMAP1818LR_LOADFROMFILE);
mask2->m_hobject = (HBITMAP)::LoadImage(NULL“mask2.bmp“IMAGE_BITMAP1818LR_LOADFROMFILE);
temp->CreateCompatibleBitmap(&dcrect.rightrect.bottom);
mdc->Selectobject(temp);
}
canvasframe::~canvasframe()
{
delete bgbmp;
delete snow;
delete mask;
delete snow1;
delete mask1;
delete snow2;
delete mask2;
delete temp;
delete mdc;
delete mdc1;
}
BEGIN_MESSAGE_MAP(canvasframe CframeWnd)
//{{AFX_MSG_MAP(canvasframe)
ON_WM_TIMER()
ON_WM_CREATE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// canvasframe message handlers
void canvasframe::OnTimer(UINT nIDEvent)
{
if(count<50)//当离子总数小于50时,产生新粒子
{
drop[count].x = rand()%rect.right;
drop[count].y = 0;
drop[count].exist = true;
drop1[count].x = rand()%rect.right;
drop1[count].y = 0;
drop1[count].exist = true;
drop2[count].x = rand()%rect.right;
drop2[count].y = 0;
drop2[count].exist = true;
count++;
}
CClientDC dc(this);
mdc1->Selectobject(bgbmp);
mdc->Bi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1394814 2001-10-02 03:46 CH4-8\BGROUND.BMP
文件 4139 2014-06-22 20:16 CH4-8\canvas.dsp
文件 537 2001-07-05 14:53 CH4-8\CANVAS.DSW
文件 140288 2014-06-23 09:14 CH4-8\CANVAS.NCB
文件 53760 2014-06-23 09:14 CH4-8\CANVAS.OPT
文件 246 2014-06-23 09:13 CH4-8\CANVAS.PLG
文件 744 2001-07-06 14:37 CH4-8\CANVASAPP.CPP
文件 554 2001-07-05 14:52 CH4-8\CANVASAPP.H
文件 5064 2014-06-23 08:33 CH4-8\Canvasfr
文件 1341 2014-06-22 19:54 CH4-8\CANVASfr
文件 16668 2001-10-29 22:50 CH4-8\CANVASR.APS
文件 442 2001-07-06 14:41 CH4-8\CANVASR.CLW
文件 411 2001-07-05 14:45 CH4-8\CANVASR.H
文件 1450 2001-07-05 14:45 CH4-8\CANVASR.RC
文件 2352128 2014-06-23 08:33 CH4-8\Debug\canvas.bsc
文件 1335368 2014-06-23 08:33 CH4-8\Debug\canvas.exe
文件 1718280 2014-06-23 08:33 CH4-8\Debug\canvas.ilk
I.A.... 3771024 2014-06-22 20:12 CH4-8\Debug\canvas.pch
文件 2720768 2014-06-23 08:33 CH4-8\Debug\canvas.pdb
文件 15047 2014-06-22 20:12 CH4-8\Debug\canvasApp.obj
文件 0 2014-06-22 20:13 CH4-8\Debug\canvasApp.sbr
文件 31736 2014-06-23 08:33 CH4-8\Debug\canvasfr
文件 0 2014-06-23 08:33 CH4-8\Debug\canvasfr
文件 32 2014-06-22 20:12 CH4-8\Debug\canvasr.res
文件 132096 2014-06-23 09:13 CH4-8\Debug\vc60.idb
文件 53248 2014-06-23 08:33 CH4-8\Debug\vc60.pdb
文件 630 2014-06-22 17:30 CH4-8\MASK.BMP
文件 1080 2014-06-22 17:38 CH4-8\MASK1.bmp
文件 1352 2014-06-22 18:36 CH4-8\MASK2.bmp
文件 630 2014-06-22 17:28 CH4-8\SNOW.BMP
............此处省略8个文件信息
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论