• 大小: 2.87MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-29
  • 语言: C/C++
  • 标签: c++  下雪效果  

资源简介

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\Canvasframe.cpp

     文件       1341  2014-06-22 19:54  CH4-8\CANVASframe.H

     文件      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\canvasframe.obj

     文件          0  2014-06-23 08:33  CH4-8\Debug\canvasframe.sbr

     文件         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个文件信息

评论

共有 条评论