《MFC游戏开发》笔记八 游戏特效的实现(二):粒子系统 配套源代码
欢迎大家关注
配套博文地址http://blog.csdn.net/u011371356/article/details/9360993
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 228864 2013-07-17 21:30 GameMFCDebugGameMFC.exe
文件 1746892 2013-07-17 21:30 GameMFCDebugGameMFC.ilk
文件 5401600 2013-07-17 21:30 GameMFCDebugGameMFC.pdb
文件 1417800 2013-07-14 23:08 GameMFCGameMFCg.png
文件 4454679 2013-07-16 16:04 GameMFCGameMFCigbg.png
文件 6263 2013-07-17 21:54 GameMFCGameMFCChildView.cpp
文件 1319 2013-07-17 21:19 GameMFCGameMFCChildView.h
文件 140769 2013-07-17 21:30 GameMFCGameMFCDebugChildView.obj
文件 2902 2013-07-17 21:30 GameMFCGameMFCDebugcl.command.1.tlog
文件 49644 2013-07-17 21:30 GameMFCGameMFCDebugCL.read.1.tlog
文件 2264 2013-07-17 21:30 GameMFCGameMFCDebugCL.write.1.tlog
文件 4027 2013-07-15 14:43 GameMFCGameMFCDebugGameMFC.Build.CppClean.log
文件 667 2013-07-15 14:43 GameMFCGameMFCDebugGameMFC.exe.embed.manifest
文件 732 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.exe.embed.manifest.res
文件 381 2013-07-17 21:30 GameMFCGameMFCDebugGameMFC.exe.intermediate.manifest
文件 59 2013-07-17 21:30 GameMFCGameMFCDebugGameMFC.lastbuildstate
文件 2884 2013-07-17 21:30 GameMFCGameMFCDebugGameMFC.log
文件 55008 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.obj
文件 33685504 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.pch
文件 75312 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.res
文件 204 2013-07-15 14:43 GameMFCGameMFCDebugGameMFC_manifest.rc
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink-cvtres.read.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink-cvtres.write.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink.2876-cvtres.read.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink.2876-cvtres.write.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink.2876.read.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink.2876.write.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink.5320-cvtres.read.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink.5320-cvtres.write.1.tlog
文件 2 2013-07-17 21:30 GameMFCGameMFCDebuglink.5320.read.1.tlog
............此处省略82个文件信息
//-----------------------------------【程序说明】----------------------------------------------
// 【MFC游戏开发】笔记八 粒子系统 配套源代码
// VS2010环境
// 更多内容请访问雾央CSDN博客 http://blog.csdn.net/u011371356/article/category/1497651
// 雾央的新浪微博: @七十一雾央
//------------------------------------------------------------------------------------------------
// ChildView.cpp : CChildView 类的实现
//
#include “stdafx.h“
#include “GameMFC.h“
#include “ChildView.h“
#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()
{
}
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(“bigbg.png“);
//获取背景地图的宽度
m_mapWidth=m_bg.GetWidth();
//加载英雄图片
MyHero.hero.Load(“heroMove.png“);
TransparentPNG(&MyHero.hero);
//初始化英雄状态
MyHero.direct=UP;
MyHero.frame=0;
//设置英雄初始位置
MyHero.x=80;
MyHero.y=400;
//设置地图初始从最左端开始显示
m_xMapStart=0;
//加载雪花图像
char buf[20];
for(int i=0;i<7;i++) //加载七种图像
{
sprintf(buf“Snow//%d.png“i);
m_snowMap[i].Load(buf);
}
//初始化雪花粒子
for(int i=0;i {
Snow[i].x=rand()% WINDOW_WIDTH; //最初雪花在水平方向上随机出现
Snow[i].y=rand()% WINDOW_HEIGHT; //垂直方向上也是随机出现
Snow[i].number=rand()%7; //七种雪花中的一种
}
return TRUE;
}
//计算地图左端x开始位置
void CChildView::GetMapStartX()
{
//如果人物不在最左边和最右边半个屏幕内时,地图的起始坐标是需要根据人物位置计算的。
if(MyHero.xWINDOW_WIDTH/2)
m_xMapStart=MyHero.x-WINDOW_WIDTH/2;
}
//获取人物在屏幕上的坐标
int GetScreenX(int xHeroint mapWidth)
{
//如果人物在最左边和最右边半个屏幕内时,那么人物就处在屏幕中间
if(xHeroWINDOW_WIDTH/2)
return WINDOW_WIDTH/2;
else if(xHero<=WINDOW_WIDTH/2) //在最左边半个屏幕时,人物在屏幕上的位置就是自己的x坐标了
return xHero;
else
return WINDOW_WIDTH-(mapWidth-xHero); //在最右边半个屏幕
}
void CChildView::OnPaint()
{
//获取窗口DC指针
CDC *cDC
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 228864 2013-07-17 21:30 GameMFCDebugGameMFC.exe
文件 1746892 2013-07-17 21:30 GameMFCDebugGameMFC.ilk
文件 5401600 2013-07-17 21:30 GameMFCDebugGameMFC.pdb
文件 1417800 2013-07-14 23:08 GameMFCGameMFCg.png
文件 4454679 2013-07-16 16:04 GameMFCGameMFCigbg.png
文件 6263 2013-07-17 21:54 GameMFCGameMFCChildView.cpp
文件 1319 2013-07-17 21:19 GameMFCGameMFCChildView.h
文件 140769 2013-07-17 21:30 GameMFCGameMFCDebugChildView.obj
文件 2902 2013-07-17 21:30 GameMFCGameMFCDebugcl.command.1.tlog
文件 49644 2013-07-17 21:30 GameMFCGameMFCDebugCL.read.1.tlog
文件 2264 2013-07-17 21:30 GameMFCGameMFCDebugCL.write.1.tlog
文件 4027 2013-07-15 14:43 GameMFCGameMFCDebugGameMFC.Build.CppClean.log
文件 667 2013-07-15 14:43 GameMFCGameMFCDebugGameMFC.exe.em
文件 732 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.exe.em
文件 381 2013-07-17 21:30 GameMFCGameMFCDebugGameMFC.exe.intermediate.manifest
文件 59 2013-07-17 21:30 GameMFCGameMFCDebugGameMFC.lastbuildstate
文件 2884 2013-07-17 21:30 GameMFCGameMFCDebugGameMFC.log
文件 55008 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.obj
文件 33685504 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.pch
文件 75312 2013-07-17 21:23 GameMFCGameMFCDebugGameMFC.res
文件 204 2013-07-15 14:43 GameMFCGameMFCDebugGameMFC_manifest.rc
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
文件 2 2013-07-17 21:30 GameMFCGameMFCDebugli
............此处省略82个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)