資源簡(jiǎn)介
使用的 主要技術(shù)有:
1、大面積山脈渲染,使用Heightmap構(gòu)造地形,7級(jí) LOD 細(xì)節(jié)精度,地形無(wú)限重復(fù)循環(huán) 。
2、清晰、自然的地表貼圖。
3、讀取.MD2 、.MS3D 格式的3D模型文件。
4、粒子系統(tǒng),產(chǎn)生爆炸、炊煙等特效。
5、太陽(yáng)光暈。
6、使用Blend模擬Brightness/contrast調(diào)節(jié)圖象亮度。
操作控制
可以在GameSetting菜單中設(shè)定:
1.視頻屬性 ( Video Setting )
1).屏幕分辨率( Resolution )
游戲率默認(rèn)為800*600,在任務(wù)執(zhí)行前可改變分辨率,但不會(huì)立即生效,只有在初始化任務(wù)時(shí)才改變分辨率。
2).屏幕亮度( Brigthness )
在不同的硬件配置上,屏幕亮度往往表現(xiàn)出較大差異,通過(guò)該項(xiàng)可將亮度調(diào)節(jié)到最佳。
3).視野范圍 ( Visible Distance )
調(diào)節(jié)地形繪制的距離。對(duì)于配置較低的硬件,適當(dāng)降低視野距離可提高幀速率,但由于遠(yuǎn)處地形網(wǎng)格較粗,對(duì)幀速率提高貢獻(xiàn)并不大。
4).霧濃度 ( Fog Density )
2.音頻屬性 ( Audio Setting )
1).背景音樂(lè)(music)
可以打開(kāi)或關(guān)閉背景音樂(lè),可以調(diào)節(jié)音量。
音樂(lè)播放 audio/music/menu.mp3 ,如果你有自己喜愛(ài)的mp3音樂(lè)文件可以將它替換 menu.mp3 文件。
2).音效( sound )
可以打開(kāi)或關(guān)閉音效,可以調(diào)節(jié)音量。游戲中的槍聲與人物的發(fā)聲具有3D效果。
3.鍵盤操作 ( Keyboard Setting )
以下操作可以更改
Up、Down、Left、Right設(shè)定移動(dòng)操作。
Fire 射擊
Jump 跳躍
Zoom 放大遠(yuǎn)處景物
Help 彈出幫助
修改方法:用鼠標(biāo)點(diǎn)擊選項(xiàng),然后輸入新的按鍵。
另外,游戲保留了幾個(gè)開(kāi)發(fā)模式下的操作:
Page Up 提升視點(diǎn)高度
Page Down 降低視點(diǎn)高度 (可以看到地形繪制區(qū)域)
L 線框模式
F 凍結(jié)所有敵人
V 隱身
N 敵人攻擊力為零
I 隱藏房子
O 隱藏?cái)橙?P 隱藏樹(shù)木
在游戲運(yùn)行中,按 Help 項(xiàng)的按鍵獲得幫助。
4.鼠標(biāo)操作
鼠標(biāo)的移動(dòng)可改變視角,默認(rèn)設(shè)定左鍵為射擊,右鍵為放大。
代碼片段和文件信息
//?3dE.cpp:?implementation?of?the?C3dE?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“3dE.h“
#include?“heightmap.h“
#include?“math.h“
#include?“audio.h“
#include?“imgtext.h“
//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////
C3dE::C3dE()
{
m_bAttacked=false;
????m_bAttacking=false;
m_Height=8;
m_baseHeight=255;
????m_eyePos=VERTEX(000);
m_RotX=0;
m_RotY=180;
m_RotZ=0;
m_RunVector=NORMAL(000);
m_JumpSpeed=0.4f;
m_Acceleration=0.8f;
m_MaxRunSpeed=1.5f;
????m_Decrease=0.8f;
????m_AirDecrease=0.0001f;
m_Gravity=0.02f;
m_bFlying=false;
m_maxDifferent=2;
????m_YBiasAngle=0;
m_YBias=0;
????m_ZBiasAngle=0;
m_bBiasLeft=true;
m_gunYBias=0;
m_gunZBias=0;
m_gunState=0;
m_maxFOVAngle=60;
m_minFOVAngle=15;
m_curFOVAngle=60;
m_orgFOVAngle=60;
m_bZoomed=false;
m_bZoomOut=false;
m_iZoomAngle=1;
m_mouseSpeed=0.1f;
}
C3dE::~C3dE()
{
}
bool?C3dE::Init3dExplorer()
{
????Reset3dExplorerPos();
return?true;
}
void?C3dE::Reset3dExplorerPos()
{
????m_eyePos.xpos=m_cGS.m_fViewerPosX;
????m_eyePos.zpos=m_cGS.m_fViewerPosZ;
????m_eyePos.ypos=m_cHmap.GetHeight(m_eyePos.xposm_eyePos.zpos)+m_Height;
m_baseHeight=m_eyePos.ypos-m_Height;
????m_RotY=m_cGS.m_fViewerRotY;
m_RotX=0;
m_cHmap.m_myHealth=1;
m_bAttacking=false;
m_curFOVAngle=60;
m_orgFOVAngle=60;
m_bZoomed=false;
m_bZoomOut=false;
m_iZoomAngle=10;
????ChangeFOVAngle();
????UpdateHeightmap();
}
void?C3dE::ProcessInput()
{
if(m_cHmap.m_myHealth<=0)
{
m_RotX=0;
m_RotY+=0.2f;
???? UpdateHeightmap();
????????if(m_cHmap.m_myHealth!=-10)
{
????????????m_cHmap.m_myHealth=-10;
m_iZoomAngle=60;
ChangeFOVAngle();
m_bAttacking=false;
???? int?sound=SOUND_DEATH_1+rand()%3;
CAudio::SetSoundPos(sound&m_eyePos);
CAudio::Play(sound1falsefalse);
}
????????return;
}
????//////////////////////////////////////////////////////////
///////////////?mouse?rotate?/////////////////////////////
????m_RotY+=(400-m_cInput.m_mousePosX)*m_mouseSpeed;//?/mouse?Speed
????m_RotX-=(300-m_cInput.m_mousePosY)*m_mouseSpeed;
//?Center?mouse
SetCursorPos(400300);
///////////////////////////////////////////////////////////
///////////////??Run?//////////////////////////////////////
//?Keyboard?input
if?(m_cInput.m_keys[m_cGS.m_iKeyForward]?&&?(!m_bFlying))
{
????????m_RunVector.nz-=m_Acceleration;
if(m_RunVector.nz<-m_MaxRunSpeed)m_RunVector.nz=-m_MaxRunSpeed;
////////////////Y?bias
???? if?(m_YBiasAngle?>=?359)
???? m_YBiasAngle?=?0;
???? else
???? ?m_YBiasAngle+=?8;
m_YBias=sinf(m_YBiasAngle*0.0174533f?)/4.0f;
}
else
{
if(!?m_cInput.m_keys[m_cGS.m_iKeyBackward]?&&?m_RunVector.nz<0?)
{
if(m_bFlying)?m_RunVector.nz+=m_AirDecrease;
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????725045??1999-01-01?02:21??FPS射擊游戲《林海雪原》完整源代碼\lhxy\3dExplorer.exe
?????文件??????87224??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\ambient.wav
?????文件??????20152??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\Bird0.wav
?????文件??????16056??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\Bird1.wav
?????文件???????7352??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\Bird2.wav
?????文件??????34488??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\bird3.wav
?????文件??????10424??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\Bird4.wav
?????文件??????26808??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\Bird5.wav
?????文件??????48824??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\Bird6.wav
?????文件??????47288??2001-06-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\ambient\Bird7.WAV
?????文件???????6248??1998-08-04?20:30??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\menu\click.wav
?????文件????2838361??2001-09-28?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\Music\menu.mp3
?????文件??????20540??2002-08-31?12:10??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\blank.wav
?????文件?????255642??2001-12-29?07:11??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\death1.wav
?????文件??????20680??2002-08-28?22:30??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\death2.wav
?????文件?????140442??2001-12-29?07:12??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\death3.wav
?????文件??????21738??1999-11-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\Jump.wav
?????文件??????11062??1999-11-21?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\Land.wav
?????文件??????26912??2002-08-31?12:11??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\pain1.wav
?????文件??????24458??2002-08-31?12:11??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\pain2.wav
?????文件??????31112??2002-08-31?12:11??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\pain3.wav
?????文件???????6090??2000-11-01?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\run0.wav
?????文件???????8594??2000-11-01?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\run1.wav
?????文件???????8594??2000-11-01?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\run2.wav
?????文件???????8594??2000-11-01?00:00??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\soldier\run3.wav
?????文件??????10424??2002-08-31?15:27??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\weapon\gunShot.wav
?????文件??????24156??2002-01-01?10:14??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\weapon\gunshot0.wav
?????文件??????18682??2002-08-26?11:40??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\weapon\multiSound.wav
?????文件???????3358??2002-01-23?21:39??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\weapon\singleSound.wav
?????文件??????43462??2002-08-31?09:54??FPS射擊游戲《林海雪原》完整源代碼\lhxy\audio\weapon\whiz.wav
............此處省略779個(gè)文件信息
評(píng)論
共有 條評(píng)論