資源簡介
《C++游戲開發》筆記十一 平滑動畫 源代碼
歡迎大家閱讀配套博文
http://blog.csdn.net/u011371356/article/details/9430645
代碼片段和文件信息
//-----------------------------------【程序說明】----------------------------------------------
//?【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;
}
BEGIN_MESSAGE_MAP(CChildView?CWnd)
ON_WM_PAINT()
ON_WM_TIMER()
ON_WM_CREATE()
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);
//-----------------------------------游戲數據初始化部分-------------------------
//加載背景
m_bg.Load(“bg.png“);
//打開音樂文件
mciSendString(“open?background.mp3?alias?bgMusic?“?NULL?0?NULL);
mciSendString(“play?bgMusic?repeat“?NULL?0?NULL);
m_snow=new?CParticle(100);
//初始化
m_snow->Init();
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_bg.Draw(m_cacheDC00WINDOW_WIDTHWINDOW_HEIGHT00WINDOW_WIDTHWINDOW_HEIGHT);
//貼雪花
m_snow->Draw(m_cacheDC);
//更新雪花
currentTime=timeGetTime();
m_snow->Update(currentTime-lastTime);
lastTime=currentTime;
//最后將緩沖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;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????229888??2013-07-24?01:08??GameMFC\Debug\GameMFC.exe
?????文件????1710772??2013-07-24?01:09??GameMFC\Debug\GameMFC.ilk
?????文件????5377024??2013-07-24?01:08??GameMFC\Debug\GameMFC.pdb
?????文件????5578834??2013-03-15?12:51??GameMFC\GameMFC\background.mp3
?????文件?????957065??2013-07-18?21:08??GameMFC\GameMFC\bg.png
?????文件???????3090??2013-07-24?01:08??GameMFC\GameMFC\ChildView.cpp
?????文件????????695??2013-07-24?01:08??GameMFC\GameMFC\ChildView.h
?????文件?????133428??2013-07-24?01:08??GameMFC\GameMFC\Debug\ChildView.obj
?????文件???????3630??2013-07-24?01:08??GameMFC\GameMFC\Debug\cl.command.1.tlog
?????文件??????51040??2013-07-24?01:08??GameMFC\GameMFC\Debug\CL.read.1.tlog
?????文件???????2938??2013-07-24?01:08??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-23?15:27??GameMFC\GameMFC\Debug\GameMFC.exe.em
?????文件????????381??2013-07-24?01:08??GameMFC\GameMFC\Debug\GameMFC.exe.intermediate.manifest
?????文件?????????59??2013-07-24?01:09??GameMFC\GameMFC\Debug\GameMFC.lastbuildstate
?????文件???????2701??2013-07-24?01:09??GameMFC\GameMFC\Debug\GameMFC.log
?????文件??????55064??2013-07-24?01:08??GameMFC\GameMFC\Debug\GameMFC.obj
?????文件???33685504??2013-07-23?15:26??GameMFC\GameMFC\Debug\GameMFC.pch
?????文件??????75312??2013-07-23?15:27??GameMFC\GameMFC\Debug\GameMFC.res
?????文件????????204??2013-07-23?15:27??GameMFC\GameMFC\Debug\GameMFC_manifest.rc
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-24?01:09??GameMFC\GameMFC\Debug\li
............此處省略70個文件信息
評論
共有 條評論