资源简介
《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.em
文件 732 2013-07-20 22:42 GameMFC\GameMFC\Debug\GameMFC.exe.em
文件 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\li
文件 2 2013-07-20 23:13 GameMFC\GameMFC\Debug\li
文件 2 2013-07-20 23:13 GameMFC\GameMFC\Debug\li
文件 2 2013-07-20 23:13 GameMFC\GameMFC\Debug\li
文件 2 2013-07-20 23:13 GameMFC\GameMFC\Debug\li
文件 2 2013-07-20 23:13 GameMFC\GameMFC\Debug\li
文件 2 2013-07-20 23:13 GameMFC\GameMFC\Debug\li
文件 2 2013-07-20 23:13 GameMFC\GameMFC\Debug\li
............此处省略109个文件信息
相关资源
- 《C++游戏开发》笔记十一 平滑动画
- 《MFC游戏开发》笔记三 透明贴图 配套
- 《MFC游戏开发》笔记八 粒子系统 配套
- LSD线特征提取方法+Opencv实现C++
- MFC实现实时曲线显示
- MFC CSerialPort类串口通信
- mfc+opencv读取摄像头视频并实现抓图
- c++实现的简单音乐播放器
- PCL与MFC配合编译
- C++编写中国象棋源代码
- C++网络编程ACE 卷一、卷二PDF电子版
- [MFC]很好用的图片浏览器
- VC++ MFC 图书馆管理系统
- 最短路径查寻
- MFC中调用CUDA及配置等
- 殷人昆 数据结构:用面向对象方法与
- 数据结构与算法分析C++描述Larrynyhof
- 钱能C++程序设计教程 PDF、课件及源代
- 基于MFC+MySql的个人健康管理系统
- 多目标跟踪c++代码
- 我的第一本C++书》完整中文版pdf(看
- 黑马C/C++讲义
- 三维重建代码合集.zip
- C++Primer中文第三版、钱能C++程序设计
- 高斯滤波+卡尔曼滤波+粒子滤波C++&M
- 遗传算法c++代码.rar
- MFC实现用四阶龙格库塔求解微分方程
- HexFrvr-cosX.zip
- c++程序设计第四版课件郑莉等著[含
- windows下原生c++语言实现的FTP客户端
评论
共有 条评论