資源簡介
《MFC游戲開發》筆記九 碰撞檢測 怪物AI 配套源代碼
歡迎大家關注配套博文
http://blog.csdn.net/u011371356/article/details/9374935#comments
代碼片段和文件信息
//-----------------------------------【程序說明】----------------------------------------------
//?【MFC游戲開發】筆記九?碰撞檢測和運動型AI?配套源代碼
//?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
//定時器的名稱用宏比較清楚
#define?TIMER_PAINT?1
#define?TIMER_HEROMOVE?2
//四個方向
#define?DOWN?0
#define?LEFT?1
#define?RIGHT?2
#define?UP?3
//窗口大小
#define?WINDOW_WIDTH?800
#define?WINDOW_HEIGHT?600
//?CChildView
CChildView::CChildView()
{
}
CChildView::~CChildView()
{
mciSendString(“stop?bgMusic?“NULL0NULL);
}
BEGIN_MESSAGE_MAP(CChildView?CWnd)
ON_WM_PAINT()
ON_WM_KEYDOWN()
ON_WM_LBUTTONDOWN()
ON_WM_TIMER()
ON_WM_CREATE()
END_MESSAGE_MAP()
//將png貼圖透明
void?TransparentPNG(CImage?*png)
{
for(int?i?=?0;?i?GetWidth();?i++)
{
for(int?j?=?0;?j?GetHeight();?j++)
{
unsigned?char*?pucColor?=?reinterpret_cast(png->GetPixelAddress(i??j));
pucColor[0]?=?pucColor[0]?*?pucColor[3]?/?255;
pucColor[1]?=?pucColor[1]?*?pucColor[3]?/?255;
pucColor[2]?=?pucColor[2]?*?pucColor[3]?/?255;
}
}
}
//?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“);
//加載英雄圖片
MyHero.character.Load(“heroMove.png“);
TransparentPNG(&MyHero.character);
MyHero.width=80;
MyHero.height=80;
//初始化英雄狀態
MyHero.direct=UP;
MyHero.frame=0;
//設置英雄初始位置
MyHero.x=80;????
MyHero.y=400;
//加載怪物
Monster.character.Load(“monster.png“);
TransparentPNG(&Monster.character);
Monster.width=96;
Monster.height=96;
Monster.direct=LEFT;
Monster.frame=0;
Monster.x=700;
Monster.y=100;
//打開音樂文件
mciSendString(“open?background.mp3?alias?bgMusic?“?NULL?0?NULL);
mciSendString(“play?bgMusic?repeat“?NULL?0?NULL);
return?TRUE;
}
void?CChildView::OnPaint()?
{
//獲取窗口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);
//貼英雄
MyHero.character.Draw(m_ca
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????228864??2013-07-18?23:03??GameMFC\Debug\GameMFC.exe
?????文件????1611184??2013-07-18?23:03??GameMFC\Debug\GameMFC.ilk
?????文件????5401600??2013-07-18?23:03??GameMFC\Debug\GameMFC.pdb
?????文件????1440522??2007-10-19?20:15??GameMFC\GameMFC\background.mp3
?????文件?????957065??2013-07-18?21:08??GameMFC\GameMFC\bg.png
?????文件???????6372??2013-07-19?00:26??GameMFC\GameMFC\ChildView.cpp
?????文件???????1167??2013-07-18?22:46??GameMFC\GameMFC\ChildView.h
?????文件?????141872??2013-07-18?23:03??GameMFC\GameMFC\Debug\ChildView.obj
?????文件???????2902??2013-07-18?23:03??GameMFC\GameMFC\Debug\cl.command.1.tlog
?????文件??????50074??2013-07-18?23:03??GameMFC\GameMFC\Debug\CL.read.1.tlog
?????文件???????2264??2013-07-18?23:03??GameMFC\GameMFC\Debug\CL.write.1.tlog
?????文件???????4027??2013-07-15?14:43??GameMFC\GameMFC\Debug\GameMFC.Build.CppClean.log
?????文件????????667??2013-07-15?14:43??GameMFC\GameMFC\Debug\GameMFC.exe.em
?????文件????????732??2013-07-18?20:43??GameMFC\GameMFC\Debug\GameMFC.exe.em
?????文件????????381??2013-07-18?23:03??GameMFC\GameMFC\Debug\GameMFC.exe.intermediate.manifest
?????文件?????????59??2013-07-18?23:03??GameMFC\GameMFC\Debug\GameMFC.lastbuildstate
?????文件???????2550??2013-07-18?23:03??GameMFC\GameMFC\Debug\GameMFC.log
?????文件??????54988??2013-07-18?22:46??GameMFC\GameMFC\Debug\GameMFC.obj
?????文件???33685504??2013-07-18?20:43??GameMFC\GameMFC\Debug\GameMFC.pch
?????文件??????75312??2013-07-18?20:43??GameMFC\GameMFC\Debug\GameMFC.res
?????文件????????204??2013-07-15?14:43??GameMFC\GameMFC\Debug\GameMFC_manifest.rc
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
?????文件??????????2??2013-07-18?23:03??GameMFC\GameMFC\Debug\li
............此處省略93個文件信息
評論
共有 條評論