• 大小: 379KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: directx9  2D  游戏  

资源简介

dx9_2d_demo_game directx9实现2D游戏例程 是一个用Direct9 写的一个2D 飞机游戏

资源截图

代码片段和文件信息

//-----------------------------------------------------------------------------
//           Name: dx9_2d_demo_game.cpp
//         Author: Kevin Harris (kevin@codesampler.com)
//  Last Modified: 10/04/04
//    Description: 2D Sample game written in DirectX 9.0
//       Controls: Use the arrow keys to move and the space bar to shoot!
//-----------------------------------------------------------------------------

#define STRICT
#define WIN32_LEAN_AND_MEAN

#define INITGUID
#define DIRECTINPUT_VERSION 0x0800

#include 
#include 
#include 
#include 
#include 
#include “resource.h“
#include “sprite.h“
#include 
using namespace std;

//-----------------------------------------------------------------------------
// SYMBOLIC CONSTANTS
//-----------------------------------------------------------------------------
const int SCREEN_WIDTH    = 800;
const int SCREEN_HEIGHT   = 600;
const int SCREEN_BPP      = 16;

const int TOTAL_STARS     = 100;
const int TOTAL_PARTICLES = 250;
const int SHIP_SPEED      = 5;

//-----------------------------------------------------------------------------
// MACROS
//-----------------------------------------------------------------------------
#define SAFE_DELETE(p)  { if(p) { delete (p);     (p)=NULL; } }
#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
#define KEYDOWN(namekey) (name[key] & 0x80)

//-----------------------------------------------------------------------------
// GLOBALS
//-----------------------------------------------------------------------------
HWND                 g_hWnd       = NULL;
LPDIRECT3D9          g_pD3D       = NULL;
LPDIRECT3DDEVICE9    g_pd3dDevice = NULL;
LPDIRECTINPUT8       g_lpdi       = NULL;
LPDIRECTINPUTDEVICE8 g_pKeyboard  = NULL;

RECT  g_rcWindow;
RECT  g_rcViewport;
RECT  g_rcScreen;
BOOL  g_bWindowed       = true;
BOOL  g_bActive         = false;
DWORD g_dwLastFireTick  = 0;
int   g_nShipsLeft      = 3;
int   g_nScore          = 0;
int   g_nPowerLevel     = 20;
int   g_nCurrentLevel   = 0;

double g_dElpasedTime;
double g_dCurTime;
double g_dLastTime;
double g_dAnimationTimer = 0.0;

struct STAR
{
    int x;          // Star posit x
    int y;          // Star posit y
    int nVelocity;  // Star velocity
    COLORREF color; // Star color
};

STAR g_stars[TOTAL_STARS]; // Star field array

struct PARTICLE
{
    int  x;          // Particle posit x
    int  y;          // Particle posit y
    int  nVelocity;  // Particle velocity
    bool bVisible;   // Is particle visible or active
    COLORREF color;  // Particle color
};

PARTICLE g_exhaust[TOTAL_PARTICLES]; // Particle array for engine exhaust

// Create a linked list with STL to hold and manage CSprite objects
typedef list SPRITELIST;

SPRITELIST g_SpriteList;
SPRITELIST::iterator g_sprite_i;
SPRITELIST::iterator g_sprite_j;
SPRITELIST::iterator g_sprit

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        7406  2003-10-07 09:50  dx9_2d_demo_game\codesampler.ico
     文件       65831  2004-10-04 10:53  dx9_2d_demo_game\dx9_2d_demo_game.cpp
     文件        4609  2004-04-05 16:13  dx9_2d_demo_game\dx9_2d_demo_game.dsp
     文件      536576  2004-10-14 23:41  dx9_2d_demo_game\dx9_2d_demo_game.exe
     文件        2557  2003-10-07 10:50  dx9_2d_demo_game\dx9_2d_demo_game.rc
     文件        5158  2004-04-05 17:29  dx9_2d_demo_game\dx9_2d_demo_game.vcproj
     文件       21536  2001-01-23 15:03  dx9_2d_demo_game\explosion.bmp
     文件      746552  2001-02-20 11:45  dx9_2d_demo_game\fighter.bmp
     文件      120056  2001-03-14 17:32  dx9_2d_demo_game\misc.bmp
     文件       15068  2001-01-30 10:10  dx9_2d_demo_game\numbers.bmp
     文件         826  2000-09-22 08:07  dx9_2d_demo_game\resource.h
     文件       22824  2004-10-04 10:52  dx9_2d_demo_game\sprite.cpp
     文件        6832  2004-10-04 10:52  dx9_2d_demo_game\sprite.h

评论

共有 条评论