• 大小: 13.96MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-14
  • 语言: C/C++
  • 标签: C++  战争迷雾  游戏  

资源简介

《C++游戏开发》笔记十四 平滑过渡的战争迷雾 源代码 欢迎大家关注博文 http://blog.csdn.net/hust_xy/article/details/9712321

资源截图

代码片段和文件信息


//-----------------------------------【程序说明】----------------------------------------------
// 【MFC游戏开发】笔记十一 平滑动画 配套源代码
// VS2010环境
// 更多内容请访问雾央CSDN博客 http://blog.csdn.net/u011371356/article/category/1497651
// 雾央的新浪微博: @七十一雾央
//------------------------------------------------------------------------------------------------


// ChildView.cpp : CChildView 类的实现
//

#include “stdafx.h“
#include “GameMFC.h“
#include “ChildView.h“

#include “mmsystem.h“
#pragma comment(lib“winmm.lib“)//导入声音头文件库

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CChildView

CChildView::CChildView()
{
}

CChildView::~CChildView()
{
mciSendString(“stop bgMusic “NULL0NULL);
delete m_snow;
delete m_scene;
}


BEGIN_MESSAGE_MAP(CChildView CWnd)
ON_WM_PAINT()
ON_WM_TIMER()
ON_WM_CREATE()
ON_WM_LBUTTONDOWN()
ON_WM_KEYDOWN()
END_MESSAGE_MAP()



// CChildView 消息处理程序

BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) 
{
if (!CWnd::PreCreateWindow(cs))
return FALSE;

cs.dwExstyle |= WS_EX_CLIENTEDGE;
cs.style &= ~WS_BORDER;
cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS 
::LoadCursor(NULL IDC_ARROW) reinterpret_cast(COLOR_WINDOW+1) NULL);

//-----------------------------------游戏数据初始化部分-------------------------
//打开音乐文件
mciSendString(“open background.mp3 alias bgMusic “ NULL 0 NULL);
mciSendString(“play bgMusic repeat“ NULL 0 NULL);

//雪花
m_snow=new CParticle(100);
m_snow->Init();

//场景
m_scene=new CScene(“bg.png“);


return TRUE;
}

void CChildView::OnPaint() 
{
static float lastTime=timeGetTime();    
static float currentTime=timeGetTime();
//获取窗口DC指针
CDC *cDC=this->GetDC();
//获取窗口大小
GetClientRect(&m_client);
//创建缓冲DC
m_cacheDC.CreateCompatibleDC(NULL);
m_cacheCBitmap.CreateCompatibleBitmap(cDCm_client.Width()m_client.Height());
m_cacheDC.Selectobject(&m_cacheCBitmap);
//————————————————————开始绘制——————————————————————
//贴背景现在贴图就是贴在缓冲DC:m_cache中了
m_scene->DrawBG(m_cacheDC);

//贴雪花
m_snow->Draw(m_cacheDC);
//更新雪花
currentTime=timeGetTime();
m_snow->Update(currentTime-lastTime);
lastTime=currentTime;

//画出战争迷雾
m_scene->DrawFog(m_cacheDC);

//最后将缓冲DC内容输出到窗口DC中
cDC->BitBlt(00m_client.Width()m_client.Height()&m_cacheDC00SRCCOPY);

//————————————————————绘制结束—————————————————————

//在绘制完图后使窗口区有效
ValidateRect(&m_client);
//释放缓冲DC
m_cacheDC.DeleteDC();
//释放对象
m_cacheCBitmap.Deleteobject();
//释放窗口DC
ReleaseDC(cDC);
}


//定时器响应函数
void CChildView::OnTimer(UINT_PTR nIDEvent)
{
OnPaint();
}


int CChildView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO:  在此添加您专用的创建代码

//创建一个10毫秒产生一次消息的定时器
SetTimer(TIMER_PAINT10NULL);

return 0;
}


void CChildView::OnLButtonDown(UINT nFlags CPoint point)
{
m_scene->UpdateFogArea(point.xpoint.y);
}


void CChildView::onkeydown(UINT nCha

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    3375232  2010-05-05 10:29  GameMFC\GameMFC\background.mp3

     文件    1625179  2013-07-31 10:57  GameMFC\GameMFC\bg.png

     文件       3390  2013-08-01 19:50  GameMFC\GameMFC\ChildView.cpp

     文件        843  2013-08-01 19:49  GameMFC\GameMFC\ChildView.h

     文件      32507  2013-08-02 08:36  GameMFC\GameMFC\Debug\ChildView.obj

     文件       4346  2013-08-02 09:06  GameMFC\GameMFC\Debug\cl.command.1.tlog

     文件      52192  2013-08-02 09:06  GameMFC\GameMFC\Debug\CL.read.1.tlog

     文件       5276  2013-08-02 09:06  GameMFC\GameMFC\Debug\CL.write.1.tlog

     文件       5647  2013-07-23 15:26  GameMFC\GameMFC\Debug\GameMFC.Build.CppClean.log

     文件        667  2013-07-23 15:27  GameMFC\GameMFC\Debug\GameMFC.exe.embed.manifest

     文件        732  2013-08-02 08:10  GameMFC\GameMFC\Debug\GameMFC.exe.embed.manifest.res

     文件        381  2013-08-02 09:06  GameMFC\GameMFC\Debug\GameMFC.exe.intermediate.manifest

     文件         59  2013-08-02 09:06  GameMFC\GameMFC\Debug\GameMFC.lastbuildstate

     文件       3312  2013-08-02 09:06  GameMFC\GameMFC\Debug\GameMFC.log

     文件      55152  2013-08-02 08:36  GameMFC\GameMFC\Debug\GameMFC.obj

     文件   33619968  2013-08-02 08:10  GameMFC\GameMFC\Debug\GameMFC.pch

     文件      75312  2013-08-02 08:10  GameMFC\GameMFC\Debug\GameMFC.res

     文件        204  2013-07-23 15:27  GameMFC\GameMFC\Debug\GameMFC_manifest.rc

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link-cvtres.read.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link-cvtres.write.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.10208-cvtres.read.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.10208-cvtres.write.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.10208.read.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.10208.write.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.17492-cvtres.read.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.17492-cvtres.write.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.17492.read.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.17492.write.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.3636-cvtres.read.1.tlog

     文件          2  2013-08-02 09:06  GameMFC\GameMFC\Debug\link.3636-cvtres.write.1.tlog

............此处省略71个文件信息

评论

共有 条评论