资源简介
会有一个小飞机,可以用键盘操作,用它来消灭敌人,用到了简单的碰撞检测的技术
代码片段和文件信息
//=============================================================================
// Desc: 飞机发子弹
//=============================================================================
#include
#include
#include
#include
#include
using namespace std;
#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
#define SAFE_DELETE(p) { if(p) { delete (p); (p)=NULL; } }
#define SAFE_DELETE_ARRAY(p) { if(p) { delete[] (p); (p)=NULL; } }
//-----------------------------------------------------------------------------
// Desc: 全局变量
//-----------------------------------------------------------------------------
LPDIRECT3D9 g_pD3D = NULL; //Direct3D对象
LPDIRECT3DDEVICE9 g_pd3dDevice = NULL; //Direct3D设备对象
BOOL g_Paint = FALSE;
BYTE m_bKey[256]; // keyboard state buffer
D3DXMATRIX g_matWorld;
D3DLIGHT9 g_light0;
int g_flag=0;
//-----------------------------------------------------------------------------
//时间
//-----------------------------------------------------------------------------
struct Timer
{
static LARGE_INTEGER startTime;
static LARGE_INTEGER ticksPerSecond;
};
LARGE_INTEGER Timer::startTime;
LARGE_INTEGER Timer::ticksPerSecond;
BOOL TimerInit()
{
if (!QueryPerformanceFrequency(&Timer::ticksPerSecond))
{
return FALSE;// 系统不支持高分辨率计时器
}
else
{
QueryPerformanceCounter(&Timer::startTime);
return TRUE;
}
}
/**\brief
* 获得经过的时间
*/
float GetElapsedSeconds(float lastTime)
{
//static LARGE_INTEGER s_lastTime = Timer::startTime;
LARGE_INTEGER currentTime;
QueryPerformanceCounter(¤tTime);
float seconds=((float)currentTime.QuadPart/(float)Timer::ticksPerSecond.QuadPart)-lastTime;
return seconds;
}
//获取开始时间
float GetStartSeconds()
{
LARGE_INTEGER currentTime;
QueryPerformanceCounter(¤tTime);
float seconds=(float)currentTime.QuadPart/(float)Timer::ticksPerSecond.QuadPart;
return seconds;
}
//输出FPS
VOID PrintFPS()
{
static float curTime=GetStartSeconds();
static float elapsetime=0.0;
elapsetime = GetElapsedSeconds(curTime);
curTime =GetStartSeconds();
static float second=0;
static int fps=0;
second+=elapsetime;
fps++;
if (second>1.0)
{
char buff[256];
sprintf(buff“%d\n“fps);
OutputDebugStringA(buff);
second=0;
fps=0;
}
}
//-----------------------------------------------------------------------------
// Desc: 顶点结构
//-----------------------------------------------------------------------------
struct CUSTOMVERTEX
{
float x y z; //顶点位置a
float uv ; //顶点纹理坐标
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_TEX1)
//爆炸效果结构体
struct blasteffect
{
static LPDIRECT3DVERTEXBUFFER9 pvb;
static LPDIRECT3DTEXTURE9 ptext[25];
D3DXVECTOR3 position;
float timeperframe;
float timeoneframe;
float scale;
int iCurTex;
D3DXMATRIX mat;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 161266 2007-04-02 16:54 飞机发子弹\airplane.x
文件 480915 2002-09-20 15:06 飞机发子弹\bigship1.x
文件 66616 2007-04-02 16:54 飞机发子弹\bihull.bmp
文件 4499280 2008-10-28 01:37 飞机发子弹\D3dx9d_40.dll
文件 4379984 2008-10-10 04:52 飞机发子弹\D3DX9_40.dll
文件 41297 2007-04-02 16:55 飞机发子弹\heli.x
文件 65664 2001-10-28 10:28 飞机发子弹\Laser.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode00.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode01.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode02.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode03.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode04.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode05.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode06.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode07.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode08.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode09.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode10.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode11.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode12.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode13.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode14.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode15.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode16.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode17.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode18.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode19.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode20.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode21.dds
文件 16512 2007-04-02 17:05 飞机发子弹\Media\explode22.dds
............此处省略23个文件信息
评论
共有 条评论