资源简介

《MFC游戏开发》笔记十 碰撞检测进阶的源代码 欢迎大家阅读博文 http://blog.csdn.net/u011371356/article/details/9394465

资源截图

代码片段和文件信息


//-----------------------------------【程序说明】----------------------------------------------
// 【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

//定时器的名称用宏比较清楚
#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“);
m_bgblack.Load(“bgblack.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;

//打开音乐文件
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_cacheDCMyHero.xMyHero.y8080
MyHero.frame*80MyHero.direct*808080);


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

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

     文件     228352  2013-07-20 23:13  GameMFC\Debug\GameMFC.exe

     文件    1703712  2013-07-20 23:13  GameMFC\Debug\GameMFC.ilk

     文件    5401600  2013-07-20 23:13  GameMFC\Debug\GameMFC.pdb

     文件    4781786  2013-07-20 23:16  GameMFC\GameMFC\background.mp3

     文件     556293  2013-07-20 22:27  GameMFC\GameMFC\bg.png

     文件      26910  2013-07-20 22:30  GameMFC\GameMFC\bgblack.png

     文件       5865  2013-07-21 00:09  GameMFC\GameMFC\ChildView.cpp

     文件       1153  2013-07-20 22:50  GameMFC\GameMFC\ChildView.h

     文件     140537  2013-07-20 23:13  GameMFC\GameMFC\Debug\ChildView.obj

     文件       2902  2013-07-20 23:13  GameMFC\GameMFC\Debug\cl.command.1.tlog

     文件      50074  2013-07-20 23:13  GameMFC\GameMFC\Debug\CL.read.1.tlog

     文件       2264  2013-07-20 23:13  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.embed.manifest

     文件        732  2013-07-20 22:42  GameMFC\GameMFC\Debug\GameMFC.exe.embed.manifest.res

     文件        381  2013-07-20 23:13  GameMFC\GameMFC\Debug\GameMFC.exe.intermediate.manifest

     文件         59  2013-07-20 23:13  GameMFC\GameMFC\Debug\GameMFC.lastbuildstate

     文件       2530  2013-07-20 23:13  GameMFC\GameMFC\Debug\GameMFC.log

     文件      54988  2013-07-20 23:03  GameMFC\GameMFC\Debug\GameMFC.obj

     文件   33685504  2013-07-20 22:41  GameMFC\GameMFC\Debug\GameMFC.pch

     文件      75312  2013-07-20 22:42  GameMFC\GameMFC\Debug\GameMFC.res

     文件        204  2013-07-15 14:43  GameMFC\GameMFC\Debug\GameMFC_manifest.rc

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link-cvtres.read.1.tlog

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link-cvtres.write.1.tlog

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link.13160-cvtres.read.1.tlog

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link.13160-cvtres.write.1.tlog

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link.13160.read.1.tlog

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link.13160.write.1.tlog

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link.14240-cvtres.read.1.tlog

     文件          2  2013-07-20 23:13  GameMFC\GameMFC\Debug\link.14240-cvtres.write.1.tlog

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

评论

共有 条评论