資源簡介
3D槍戰射擊游戲cs簡單版源代碼,本代碼用opengl開發,使用vc6.0適用于初學者

代碼片段和文件信息
#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);//創建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);//創建DirectSound對象;
if(?hRes?!=?DS_OK?)
return;
m_bLoop=bLoop;
SetCooperativeLevel(hWnd);
//設置聲音設備優先級別為“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;???//指向語音數據塊的指針;
DWORD?m_dwSize=0;??????//WAVE文件中語音數據塊的長度;
FILE?*filein;
DWORD?dwSize;//存放WAV文件長度;
//打開sound.wav文件;
filein=fopen(filename?“rt“);
//fseek():?將?filein?所指文件的位置指針移動到以?0?為基址,
//?????????SEEK_END?為偏移量的位置
fseek(filein0SEEK_END);??//移動到WAVE文件中存放文件長度的地方
dwSize?=?ftell(filein);????//獲取WAVE文件長度
fseek(filein0SEEK_SET);??//定位到打開的WAVE文件文件頭;
int?j?=?ftell(filein);?????//?j???????
//為m_pMemory分配內存,用來存放WAVE文件中的數據;
m_pMemory?=?GlobalAlloc?(GMEM_FIXED?dwSize);
fread(m_pMemory?1?dwSize?filein);??//讀取文件中的數據;
fclose(filein);
LPDWORD?pdwpdwEnd;
DWORD?dwRiffdwType?dwLength;
//首先清空指針和變量以備使用
if?(m_pFormat)???????????//格式塊指針
m_pFormat?=?NULL;
if?(m_pData)?????????????//數據塊指針類型:LPBYTE
m_pData?=?NULL;
if?(m_dwSize)????????????//數據長度類型: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“;
//尋找格式塊數據塊位置及數據長度
pdwEnd?=?(DWORD?*)((BYTE?*)?m_pMemory+dwLength?-4);
bool?m_bend=false;
while?((pdw? //pdw文件沒有指到文件末尾并且沒有獲取到聲音數據時繼續;
{
dwType?=?*pdw++;
dwLength?=?*pdw++;
switch?(dwType)
{
case?MAKEFOURCC(‘f‘?‘m‘?‘t‘?‘?‘)://如果為“fmt“標志;
if?(!m_pFormat)//獲取LPWAVEFORMATEX結構數據;
{
if?(dwLength? return?;
m_pFormat?=?(LPWAVEFORMATEX)?pdw;
}
break;
case?MAKEFOURCC(‘d‘?‘a‘?‘t‘?‘a‘)://如果為“data“標志;
if?(!m_pData?||?!m_dwSize)
{
m_pData?=?(LPBYTE)?pdw;//得到指向聲音數據塊的指針;
m_dwSize?=?dwLe
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????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個文件信息
- 上一篇:SIFT特征提取C++
- 下一篇:宿舍管理系統C++MFC項目
評論
共有 條評論