资源简介
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个文件信息
相关资源
- visual c++ 2015 build tools
- 数据结构与算法分析 C++语言描述 第二
- C++简单获取鼠标当前坐标
- VC++鼠标画直线程序
- 深度学习之卷积神经网络CNN用于人脸
- 《C++程序设计语言特别版》题解
- Applied C++ 书籍光盘
- 计算机网络课程实验:FTP协议的实现
- vc++2010旗舰版安装包.zip
- 抽奖程序源代码
- Matlab中峰值计算函数findpeaks()的c
- Data Structures and Algorithm Analysis in C++ (
- C++程序设计:第2版---吴乃陵
- MFC C++英汉词典
- 基于VC++6.0的UDP通讯
- C++面向对象程序设计题解与上机指导
- C++中,用mfc做的可视化的计算器程序
- 《Visual C++实践与提高-图形图像编程篇
- VC++斗地主单机版完整代码
- 基于VC++的信号发生器
- 用VC++实现多媒体播放器
- DICOM图片转换BMP的C++代码
- MOPSO多目标粒子群优化算法c++实现内附
- C++课程设计报告及源代码
- VC++ 共享内存读写操作
- C++实现网络文件传输
- C++ 数据结构 迷宫求解
- VC++中Opengl实现建筑物虚拟漫游
- VC++ 模拟太阳系行星运行
- b样条曲线C++实现
评论
共有 条评论