-
大小: 25.85MB文件類(lèi)型: .rar金幣: 1下載: 0 次發(fā)布日期: 2023-07-15
- 語(yǔ)言: C/C++
- 標(biāo)簽: C++??游戲??戰(zhàn)爭(zhēng)迷霧??
資源簡(jiǎn)介
《C++游戲開(kāi)發(fā)》筆記十二 戰(zhàn)爭(zhēng)迷霧的初步實(shí)現(xiàn) 源代碼
配套博文http://blog.csdn.net/hust_xy/article/details/9475979
下載的朋友們?nèi)绻X(jué)得有幫助,請(qǐng)到博文支持一下霧央,好嗎
有大家的支持,霧央就會(huì)有動(dòng)力繼續(xù)更新
代碼片段和文件信息
//-----------------------------------【程序說(shuō)明】----------------------------------------------
//?【MFC游戲開(kāi)發(fā)】筆記十一?平滑動(dòng)畫(huà)?配套源代碼
//?VS2010環(huán)境
//?更多內(nèi)容請(qǐng)?jiān)L問(wèn)霧央CSDN博客?http://blog.csdn.net/u011371356/article/category/1497651
//?霧央的新浪微博:?@七十一霧央
//------------------------------------------------------------------------------------------------
//?ChildView.cpp?:?CChildView?類(lèi)的實(shí)現(xiàn)
//
#include?“stdafx.h“
#include?“GameMFC.h“
#include?“ChildView.h“
#include?“mmsystem.h“
#pragma?comment(lib“winmm.lib“)//導(dǎo)入聲音頭文件庫(kù)
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CChildView
CChildView::CChildView()
{
}
CChildView::~CChildView()
{
mciSendString(“stop?bgMusic?“NULL0NULL);
delete?m_snow;
}
BEGIN_MESSAGE_MAP(CChildView?CWnd)
ON_WM_PAINT()
ON_WM_TIMER()
ON_WM_CREATE()
ON_WM_MOUSEMOVE()
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);
//-----------------------------------游戲數(shù)據(jù)初始化部分-------------------------
//打開(kāi)音樂(lè)文件
mciSendString(“open?background.mp3?alias?bgMusic?“?NULL?0?NULL);
mciSendString(“play?bgMusic?repeat“?NULL?0?NULL);
//雪花
m_snow=new?CParticle(100);
m_snow->Init();
//場(chǎng)景
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);
//創(chuàng)建緩沖DC
m_cacheDC.CreateCompatibleDC(NULL);
m_cacheCBitmap.CreateCompatibleBitmap(cDCm_client.Width()m_client.Height());
m_cacheDC.Selectobject(&m_cacheCBitmap);
//————————————————————開(kāi)始繪制——————————————————————
//貼背景現(xiàn)在貼圖就是貼在緩沖DC:m_cache中了
m_scene->DrawBG(m_cacheDC);
//貼雪花
m_snow->Draw(m_cacheDC);
//更新雪花
currentTime=timeGetTime();
m_snow->Update(currentTime-lastTime);
lastTime=currentTime;
//畫(huà)出戰(zhàn)爭(zhēng)迷霧
m_scene->DrawFog(m_cacheDC);
//最后將緩沖DC內(nèi)容輸出到窗口DC中
cDC->BitBlt(00m_client.Width()m_client.Height()&m_cacheDC00SRCCOPY);
//————————————————————繪制結(jié)束—————————————————————
//在繪制完圖后使窗口區(qū)有效
ValidateRect(&m_client);
//釋放緩沖DC
m_cacheDC.DeleteDC();
//釋放對(duì)象
m_cacheCBitmap.Deleteobject();
//釋放窗口DC
ReleaseDC(cDC);
}
//定時(shí)器響應(yīng)函數(shù)
void?CChildView::OnTimer(UINT_PTR?nIDEvent)
{
OnPaint();
}
int?CChildView::OnCreate(LPCREATESTRUCT?lpCreateStruct)
{
if?(CWnd::OnCreate(lpCreateStruct)?==?-1)
return?-1;
//?TODO:??在此添加您專(zhuān)用的創(chuàng)建代碼
//創(chuàng)建一個(gè)10毫秒產(chǎn)生一次消息的定時(shí)器
SetTimer(TIMER_PAINT10NULL);
return?0;
}
//鼠標(biāo)移動(dòng)改變迷霧區(qū)域
void?CChildView::onmousemove(UINT?nFlags?CPoint?point)
{
m_scene->UpdateFogArea(point.xpoint.y);
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件?????230400??2013-07-25?15:51??GameMFC\Debug\GameMFC.exe
?????文件????2194480??2013-07-25?15:51??GameMFC\Debug\GameMFC.ilk
?????文件????5409792??2013-07-25?15:51??GameMFC\Debug\GameMFC.pdb
?????文件????1954564??2012-03-30?19:10??GameMFC\GameMFC\background.mp3
?????文件?????957065??2013-07-18?21:08??GameMFC\GameMFC\bg.png
?????文件????????129??2013-07-25?14:03??GameMFC\GameMFC\black.png
?????文件???????3238??2013-07-25?15:49??GameMFC\GameMFC\ChildView.cpp
?????文件????????779??2013-07-25?15:49??GameMFC\GameMFC\ChildView.h
?????文件??????31153??2013-07-25?15:49??GameMFC\GameMFC\Debug\ChildView.obj
?????文件???????4346??2013-07-25?15:51??GameMFC\GameMFC\Debug\cl.command.1.tlog
?????文件??????52120??2013-07-25?15:51??GameMFC\GameMFC\Debug\CL.read.1.tlog
?????文件???????5046??2013-07-25?15:51??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-07-25?14:47??GameMFC\GameMFC\Debug\GameMFC.exe.em
?????文件????????381??2013-07-25?15:51??GameMFC\GameMFC\Debug\GameMFC.exe.intermediate.manifest
?????文件?????????59??2013-07-25?15:51??GameMFC\GameMFC\Debug\GameMFC.lastbuildstate
?????文件???????2263??2013-07-25?15:51??GameMFC\GameMFC\Debug\GameMFC.log
?????文件??????55152??2013-07-25?15:49??GameMFC\GameMFC\Debug\GameMFC.obj
?????文件???33685504??2013-07-25?14:47??GameMFC\GameMFC\Debug\GameMFC.pch
?????文件??????75312??2013-07-25?15:49??GameMFC\GameMFC\Debug\GameMFC.res
?????文件????????204??2013-07-23?15:27??GameMFC\GameMFC\Debug\GameMFC_manifest.rc
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-25?15:51??GameMFC\GameMFC\Debug\li
............此處省略78個(gè)文件信息
評(píng)論
共有 條評(píng)論