資源簡介
《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.em
?????文件????????732??2013-08-02?08:10??GameMFC\GameMFC\Debug\GameMFC.exe.em
?????文件????????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\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-08-02?09:06??GameMFC\GameMFC\Debug\li
............此處省略71個文件信息
評論
共有 條評論