91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9.62MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-26
  • 語言: 其他
  • 標簽: opengl??cs??碰撞檢測??

資源簡介

非常好的opengl程序,是學習游戲編程的最后借鑒。程序里有詳細注釋,可以學好的opengl的很多知識。內含檢測碰撞算法,還有聲音文件 難得的程序代碼

資源截圖

代碼片段和文件信息

#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

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2011-09-23?19:39??opengl?編寫的cs程序\
?????文件????????4937??2004-11-28?19:33??opengl?編寫的cs程序\CDSound.cpp
?????文件?????????918??2004-12-01?18:34??opengl?編寫的cs程序\CDSound.h
?????文件???????????0??2004-02-28?00:46??opengl?編寫的cs程序\CIDevice.cpp
?????文件?????????358??2004-02-28?00:44??opengl?編寫的cs程序\CIDevice.h
?????文件???????20019??2005-01-14?17:08??opengl?編寫的cs程序\CMap.cpp
?????文件????????1950??2004-12-01?18:43??opengl?編寫的cs程序\CMap.h
?????目錄???????????0??2011-09-21?21:38??opengl?編寫的cs程序\Debug\
?????文件???????19445??2011-09-21?21:07??opengl?編寫的cs程序\Debug\CDSound.obj
?????文件???????????0??2011-09-21?21:07??opengl?編寫的cs程序\Debug\CDSound.sbr
?????文件???????30233??2011-09-21?21:07??opengl?編寫的cs程序\Debug\CMap.obj
?????文件???????????0??2011-09-21?21:07??opengl?編寫的cs程序\Debug\CMap.sbr
?????文件?????2409472??2011-09-21?21:07??opengl?編寫的cs程序\Debug\FiWorld.bsc
?????文件??????270432??2011-09-21?21:07??opengl?編寫的cs程序\Debug\FiWorld.exe
?????文件??????406232??2011-09-21?21:07??opengl?編寫的cs程序\Debug\FiWorld.ilk
?????文件???????68177??2011-09-21?21:07??opengl?編寫的cs程序\Debug\FiWorld.obj
?????文件?????5424808??2011-09-21?21:07??opengl?編寫的cs程序\Debug\FiWorld.pch
?????文件??????533504??2011-09-21?21:07??opengl?編寫的cs程序\Debug\FiWorld.pdb
?????文件???????????0??2011-09-21?21:07??opengl?編寫的cs程序\Debug\FiWorld.sbr
?????文件??????173056??2011-09-21?21:07??opengl?編寫的cs程序\Debug\vc60.idb
?????文件???????94208??2011-09-21?21:07??opengl?編寫的cs程序\Debug\vc60.pdb
?????文件???????43639??2005-01-16?09:57??opengl?編寫的cs程序\FiWorld.cpp
?????文件????????4347??2004-11-28?21:56??opengl?編寫的cs程序\FiWorld.dsp
?????文件?????????633??2004-02-28?02:09??opengl?編寫的cs程序\FiWorld.dsw
?????文件??????115712??2011-09-21?21:08??opengl?編寫的cs程序\FiWorld.ncb
?????文件???????51712??2011-09-21?21:08??opengl?編寫的cs程序\FiWorld.opt
?????文件????????1639??2011-09-21?21:07??opengl?編寫的cs程序\FiWorld.plg
?????目錄???????????0??2011-09-21?21:38??opengl?編寫的cs程序\Gfx\
?????文件???????49208??2000-09-22?17:23??opengl?編寫的cs程序\Gfx\Boden.bmp
?????文件???????12344??2004-02-26?20:47??opengl?編寫的cs程序\Gfx\circle.bmp
?????文件???????66614??2000-10-31?15:31??opengl?編寫的cs程序\Gfx\desertbk.bmp
............此處省略35個文件信息

評論

共有 條評論