資源簡介
3D槍戰(zhàn)射擊游戲cs簡單版源代碼,本代碼用opengl開發(fā),使用vc6.0適用于初學(xué)者

代碼片段和文件信息
#include?“CDSound.h“
CDSound::CDSound()
{
//?TODO:?add?construction?code?here
//?Place?all?significant?initialization?in?InitInstance
HRESULT?hRes;
m_lpDirectSound=NULL;
m_lpDSoundBuffer=NULL;
m_bLoop=false;
hRes?=?::DirectSoundCreate(0?&m_lpDirectSound?0);//創(chuàng)建DirectSound對象;
if(?hRes?!=?DS_OK?)
return;
}
CDSound::CDSound(HWND?hWndchar*?filenamebool?bPlaybool?bLoop)
{
//?TODO:?add?construction?code?here
//?Place?all?significant?initialization?in?InitInstance
HRESULT?hRes;
m_lpDirectSound=NULL;
m_lpDSoundBuffer=NULL;
m_bLoop=bLoop;
hRes?=?::DirectSoundCreate(0?&m_lpDirectSound?0);//創(chuàng)建DirectSound對象;
if(?hRes?!=?DS_OK?)
return;
m_bLoop=bLoop;
SetCooperativeLevel(hWnd);
//設(shè)置聲音設(shè)備優(yōu)先級別為“NORMAL“;
OpenSoundFile(filename);
if(bPlay)
Play();
}
CDSound::~CDSound()
{
//?TODO:?add?construction?code?here
//?Place?all?significant?initialization?in?InitInstance
}
void?CDSound::OpenSoundFile(char*?filename)
{
//?TODO:?add?construction?code?here
//?Place?all?significant?initialization?in?InitInstance
LPVOID?lpPtr1;?????????//指針1;
LPVOID?lpPtr2;?????????//指針2;
HRESULT?hResult;
DWORD?dwLen1dwLen2;
LPVOID?m_pMemory;??????//指向WAVE文件的指針
LPWAVEFORMATEX?m_pFormat=NULL;?//LPWAVEFORMATEX類型指針;
LPVOID?m_pData=NULL;???//指向語音數(shù)據(jù)塊的指針;
DWORD?m_dwSize=0;??????//WAVE文件中語音數(shù)據(jù)塊的長度;
FILE?*filein;
DWORD?dwSize;//存放WAV文件長度;
//打開sound.wav文件;
filein=fopen(filename?“rt“);
//fseek():?將?filein?所指文件的位置指針移動(dòng)到以?0?為基址,
//?????????SEEK_END?為偏移量的位置
fseek(filein0SEEK_END);??//移動(dòng)到WAVE文件中存放文件長度的地方
dwSize?=?ftell(filein);????//獲取WAVE文件長度
fseek(filein0SEEK_SET);??//定位到打開的WAVE文件文件頭;
int?j?=?ftell(filein);?????//?j???????
//為m_pMemory分配內(nèi)存,用來存放WAVE文件中的數(shù)據(jù);
m_pMemory?=?GlobalAlloc?(GMEM_FIXED?dwSize);
fread(m_pMemory?1?dwSize?filein);??//讀取文件中的數(shù)據(jù);
fclose(filein);
LPDWORD?pdwpdwEnd;
DWORD?dwRiffdwType?dwLength;
//首先清空指針和變量以備使用
if?(m_pFormat)???????????//格式塊指針
m_pFormat?=?NULL;
if?(m_pData)?????????????//數(shù)據(jù)塊指針類型:LPBYTE
m_pData?=?NULL;
if?(m_dwSize)????????????//數(shù)據(jù)長度類型:DWORD
m_dwSize?=?0;
pdw?=?(DWORD?*)?m_pMemory;
dwRiff?=?*pdw++;
dwLength?=?*pdw++;
dwType?=?*pdw++;
if?(dwRiff?!=?MAKEFOURCC?(‘R‘?‘I‘?‘F‘?‘F‘))
return?;//判斷文件頭是否為“RIFF“字符;
if?(dwType?!=?MAKEFOURCC?(‘W‘?‘A‘?‘V‘?‘E‘))
return?;//判斷文件格式是否為“WAVE“;
//尋找格式塊數(shù)據(jù)塊位置及數(shù)據(jù)長度
pdwEnd?=?(DWORD?*)((BYTE?*)?m_pMemory+dwLength?-4);
bool?m_bend=false;
while?((pdw? //pdw文件沒有指到文件末尾并且沒有獲取到聲音數(shù)據(jù)時(shí)繼續(xù);
{
dwType?=?*pdw++;
dwLength?=?*pdw++;
switch?(dwType)
{
case?MAKEFOURCC(‘f‘?‘m‘?‘t‘?‘?‘)://如果為“fmt“標(biāo)志;
if?(!m_pFormat)//獲取LPWAVEFORMATEX結(jié)構(gòu)數(shù)據(jù);
{
if?(dwLength? return?;
m_pFormat?=?(LPWAVEFORMATEX)?pdw;
}
break;
case?MAKEFOURCC(‘d‘?‘a(chǎn)‘?‘t‘?‘a(chǎn)‘)://如果為“data“標(biāo)志;
if?(!m_pData?||?!m_dwSize)
{
m_pData?=?(LPBYTE)?pdw;//得到指向聲音數(shù)據(jù)塊的指針;
m_dwSize?=?dwLe
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4937??2004-11-28?19:33??vccs\CDSound.cpp
?????文件????????918??2004-12-01?18:34??vccs\CDSound.h
?????文件??????????0??2004-02-28?00:46??vccs\CIDevice.cpp
?????文件????????358??2004-02-28?00:44??vccs\CIDevice.h
?????文件??????20019??2005-01-14?17:08??vccs\CMap.cpp
?????文件???????1950??2004-12-01?18:43??vccs\CMap.h
?????文件??????43637??2012-02-17?02:36??vccs\FiWorld.cpp
?????文件???????4347??2004-11-28?21:56??vccs\FiWorld.dsp
?????文件????????633??2004-02-28?02:09??vccs\FiWorld.dsw
?????文件?????270396??2012-02-17?02:36??vccs\FiWorld.exe
?????文件?????173056??2012-02-28?18:57??vccs\FiWorld.ncb
?????文件??????57856??2012-02-28?18:57??vccs\FiWorld.opt
?????文件????????248??2012-02-18?17:38??vccs\FiWorld.plg
?????文件??????49208??2000-09-22?17:23??vccs\Gfx\Boden.bmp
?????文件??????12344??2004-02-26?20:47??vccs\Gfx\circle.bmp
?????文件??????66614??2000-10-31?15:31??vccs\Gfx\desertbk.bmp
?????文件??????66614??2004-02-24?23:36??vccs\Gfx\desertdn.bmp
?????文件??????66614??2000-10-31?15:31??vccs\Gfx\desertft.bmp
?????文件??????66614??2000-10-31?15:31??vccs\Gfx\desertlf.bmp
?????文件??????66614??2000-10-31?15:31??vccs\Gfx\desertrt.bmp
?????文件??????66614??2004-02-24?23:35??vccs\Gfx\desertup.bmp
?????文件??????66616??2000-02-02?16:54??vccs\Gfx\Font.bmp
?????文件?????196664??2004-02-26?17:30??vccs\Gfx\joy.bmp
?????文件?????196662??2004-02-26?16:12??vccs\Gfx\joy1.BMP
?????文件???????3128??2004-02-28?13:40??vccs\Gfx\Mouse.bmp
?????文件??????66612??2004-02-27?00:21??vccs\Gfx\Mud.bmp
?????文件?????196662??1999-11-28?19:00??vccs\Gfx\Mud0.bmp
?????文件?????921656??2004-02-27?16:23??vccs\Gfx\splash.BMP
?????文件?????????96??2004-02-28?13:41??vccs\Gfx\Texture.txt
?????文件?????196662??2004-02-25?16:39??vccs\Gfx\Wall.bmp
............此處省略28個(gè)文件信息
評論
共有 條評論