锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 涓枃娓告垙寮鍙戞妧鏈祫鏂欏拰浜ゆ祦 閲戠偣宸ヤ綔瀹?/p>
浜戦宸ヤ綔瀹?/p>
浣曡嫤鍋氭父鎴忥紝娓告垙鍒朵綔鐨勬枃鍖?/p>
緗戦〉娓告垙Webgame寮鍙戣鍧?/p>
鐩涜叮淇℃伅鎶鏈紙涓婃搗錛夋湁闄愬叕鍙?OGDEV.NET -- 緗戠粶娓告垙鐮斿彂緗?/span> 55RPG璁哄潧-涓撲笟娓告垙寮鍙戝埗浣滆鍧?/p>
銆婃父鎴忚壓鏈伐鍘傘?娓告垙緹庢湳銆佹父鎴忓紑鍙戙佹父鎴忕爺鍙戜漢鍛樻渶澶х殑緗戠粶浜ゆ祦騫沖彴 9. CSDN娓告垙寮鍙戠珯錛岀璇氫負娓告垙寮鍙戣呮湇鍔°?/span> 10. 寮鍙戣鐣?- 縐誨姩寮鍙戠ぞ鍖?/p>
MOD涓浗鍚岀洘紺?/p>
12. enet娓告垙寮鍙戜笓鍖?/p>
13. 66RPG錛屼笟浣欐父鎴忓埗浣滆呬箣瀹訛紝RPG鍒朵綔澶у笀涓撻绔?/p>
MGameDiy鎵嬫満娓告垙DIY鑱旂洘 15. 鎵嬫満娓告垙寮鍙戠綉 99Game 妯℃嫙鍣ㄧ爺絀?/p>
鐙珛娓告垙寮鍙戜腑鍥界珯 娓告垙涔嬪 VB娓告垙寮鍙?/p>
DIYRPG Forum 娓告垙鍒朵綔 RPG鍒朵綔澶у笀 瑗垮畨娓告垙瀛﹂櫌
鍦╩ysql閲岃繘mysql搴?br>mysql>use mysql錛?br>鐒跺悗select user琛?br>mysql>select * from user;
鎴栬?br>select * from mysql.user;
]]>
C2785: 'T InitialStatValue(void)' and 'FD3DCounter InitialStatValue(void)' have
different return types
development\src\d3ddrv\src\D3DStats.h(27) : error
C3637: 'InitialStatValue' : a friend function definition cannot be a
specialization of a function template
development\src\d3ddrv\src\D3DStats.h(27) : error
C2912: explicit specialization; 'FD3DCounter InitialStatValue(void)' is not a
specialization of a function template
鏈鍚庡湪涓涓浗澶栫殑璁哄潧鎵懼埌瑙e喅鏂規硶錛?br>class FD3DCounter
{
template <class FD3DCounter> friend FD3DCounter InitialStatValue(FD3DCounter()) {
return FD3DCounter();
}
// Constructor.
public:
DWORD RenderCycles,
WaitCycles,
Pixels;
FD3DCounter():
RenderCycles(0),
WaitCycles(0),
Pixels(0)
{}
};
娉ㄦ剰榪欎釜鏃跺欒繕瑕佹敼鍙嬪厓鍑芥暟銆?br>鎶?br>template<class T> T InitialStatValue(int FD3DCounter&) { return 0; }
鏀逛負template <class T> friend T InitialStatValue(T()) {
return T();
}
榪欐牱緙栬瘧鍙互鐢ㄨ繃銆?br>鐪嬫潵鐪熺殑瑕佸ソ濂藉涔犱笅C++妯℃澘浜嗐?br>
]]>
1錛庡畾鏃跺櫒
鏈鐩磋錛屽張鏄渶鏃犲鐨勪竴涓柟娉曞氨鏄嬌鐢ㄥ畾鏃跺櫒銆傛棦鐒舵垜浠湪瀵硅瘽妗嗗紑濮嬫樉紺轟箣鍓嶄笉鑳界敤ShowWindow(SW_HIDE)灝嗗叾闅愯棌錛岄偅灝辯粰涓涓椂闂磋瀹冩樉紺猴紝瀹屼簡鎴戜滑鍦ㄩ殣钘忓畠銆?
鏂規硶錛?
1.鍦∣nInitDialog()鍑芥暟閲岃緗畾鏃跺櫒錛氾紙WINDOWS API閲岄潰鍝嶅簲娑堟伅WM_IN99vDIALOG錛?
SetTimer(1, 1, NULL);
2.娣誨姞澶勭悊WM_TIMER鐨勬秷鎭鐞嗗嚱鏁癘nTimer,娣誨姞浠g爜錛?
if(nIDEvent == 1)
{
DeleteTimer(1);
ShowWindow(SW_HIDE);
}
榪欑鏂規硶鐨勭己鐐規槸鏄捐屾槗瑙佺殑錛屼嬌鐢ㄥ畾鏃跺櫒錛屼嬌寰楃▼搴忕殑紼沖畾鎬т技涔庢墦涓涓姌鎵o紱紿楀彛鏄鍏堟樉紺哄嚭鏉ョ殑錛岄偅涔堟晥鏋滃氨鏄獥鍙i棯浜嗕竴涓嬫秷澶便?
2錛庢敼鍙樺璇濇鏄劇ず鐘跺喌
鍦ㄥ璇濇鍒濆鍖栨椂鏀瑰彉鍏舵樉紺哄睘鎬у彲浠ヨ瀹冮殣钘忚搗鏉ャ傛柟娉曟槸璋冪敤SetWindowPlacement鍑芥暟錛?
BOOL CDialogExDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//DO something
WINDOWPLACEMENT wp;
wp.length=sizeof(WINDOWPLACEMENT);
wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_HIDE;
SetWindowPlacement(&wp);
return TRUE;
}
鍦ㄩ渶瑕佹樉紺烘椂錛堥氬父鏄搷搴旂儹閿垨鑰呮墭鐩樺浘鏍囩殑榧犳爣娑堟伅錛夛細
WINDOWPLACEMENT wp;
wp.length=sizeof(WINDOWPLACEMENT);
wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_SHOW;
SetWindowPlacement(&wp);
榪欐牱鐨勬晥鏋滃緢涓嶇悊鎯籌細紿楀彛鏄劇ず鍦ㄥ睆騫曠殑宸︿笂瑙掞紝騫朵笖鏄彧鏈夋爣棰樻爮錛岃姝e父鏄劇ず錛岃繕闇鍔犱笂濡備笅浠g爜錛?
瀹氫箟涓涓垚鍛樺彉閲廋Rect rect;
鍦∣nInitDialog()閲岄潰錛?
GetWindowRect(&rect);
鍦ㄩ渶瑕佹樉紺虹殑鍦版柟錛?
SetWindowPos(&wndNoTopMost, wndRc.left, wndRc.top, wndRc.right, wndRc.bottom, SWP_SHOWWINDOW);
CenterWindow();
鍗充嬌榪欐牱錛屾晥鏋滆繕鏄緢宸?
榪欑鏂規硶榪樻湁涓涓紛绔槸褰撶▼搴忓紑濮嬭繍琛屽茍涓旈殣钘忚搗鏉ュ悗錛屽師鏉ユ縺媧葷殑紿楀彛鍙樻垚浜嗛潪嬋媧葷姸鎬佷簡錛岃屽綋瀵硅瘽妗嗘樉紺哄嚭鏉ュ悗錛屽璇濇鑷韓涔熸槸闈炴縺媧葷姸鎬佺殑銆?
3錛庝笉緇樺埗紿楀彛
褰撳璇濇鏄劇ず鏃跺皢瑕佸搷搴旀秷鎭疻M_PAINT緇樺埗瀹㈡埛鍖猴紝鐩稿簲娑堟伅WM_NCPAINT緇樺埗紿楀彛杈規銆傛垜浠湪紿楀彛絎竴嬈¤嚜緇樿嚜韜椂闅愯棌紿楀彛錛屽彲浠ユ敹鍒版瘮杈冭壇濂界殑鏁堟灉銆傜敱浜庣獥鍙f槸鍏堢敾紿楀彛杈規錛屾墍浠ユ垜浠粎闇澶勭悊WM_NCPAINT鍗沖彲銆備唬鐮佸涓嬶細
娣誨姞WM_NCPAINT澶勭悊鍑芥暟銆?
void CMyDialog::OnNcPaint()
{
static int i = 2;
if(i > 0)
{
i --;
ShowWindow(SW_HIDE);
}
else
CDialog::OnNcPaint();
}
榪欓噷鏈変釜闂錛氫負浠涔堣瀹氫箟闈欐佸彉閲廼鑰屼笖璁懼叾鍊間負2鍛紵
鎴戜滑鍙紿楀彛闅愯棌絎竴嬈★紝鎵浠ュ畾涔夎繖涓彉閲忓彲浠ュ垽鏂槸鍚︽椂棣栨鏄劇ず紿楀彛銆傚綋紼嬪簭寮濮嬭繍琛屾椂錛岀郴緇熷彂閫?
錛圫endMessage錛塛M_NCPAINT娑堟伅錛屾鏃剁▼搴忕殑紿楀彛杈規搴旇琚樉紺猴紝浣嗘槸姝ゆ椂鎴戜滑娌℃湁浣滀換浣曟樉紺虹殑鎿嶄綔錛岃屾槸灝嗙獥鍙i殣
钘忥紝ShowWindow(SW_HIDE)灝嗘妸紿楀彛鐨刉S_VISIBLE灞炴у幓鎺夛紝緇х畫鎵ц錛岀▼搴忓皢媯鏌S_VISIBLE灞炴э紝濡傛灉娌℃湁鍒欐樉紺虹獥
鍙o紝鎵浠ュ張鍙戦佷簡涓涓猈M_NCPAINT娑堟伅銆傛墍浠ユ垜浠澶勭悊涓ゆWM_NCPAINT娑堟伅銆?
鍦ㄩ渶瑕佺獥鍙f樉紺烘椂錛岃皟鐢⊿howWindow(SW_SHOW)鍗沖彲銆?
紼嬪簭鎵ц鐨勭粨鏋滄槸錛屽師鏉ュ浜庢縺媧葷姸鎬佺殑紿楀彛鍙兘浼氶棯鍔ㄤ袱涓嬶紝鐒跺悗浠嶇劧澶勪簬嬋媧葷姸鎬併傝繖縐嶅鐞嗘柟寮忔瘮涓婇潰鐨勬柟寮忚浼樿秺寰楀銆?
4錛庡皢瀵硅瘽妗嗕綔涓哄瓙紿楀彛
榪欑鏂規硶鏄噰鐢⊿DI妗嗘灦錛屼富紿楀彛濮嬬粓闅愯棌錛屽璇濇浣滀負涓葷獥鍙g殑鎴愬憳鍙橀噺錛屽湪CMainFrame::OnCreate()閲岄潰鍔犲叆涓嬩唬鐮侊細
if(!dlg.Create(IDD_MYDIALOG, this))
{
return –1;
}
dlg.ShowWindow(SW_HIDE);
鍦ㄨ鏄劇ず瀵硅瘽妗嗙殑鍦版柟鐢╠lg.ShowWindow(SW_SHOW);鍗沖彲銆傛敞鎰忥紝涓葷獥鍙d竴瀹氳闅愯棌錛屽惁鍒欏璇濇鍙兘浼氶棯鐜頒竴涓嬨?
闅愯棌鐘舵佹爮紿楀彛
涓婇潰浠嬬粛浜嗗嚑縐嶆鏌ュ璇濇鐨勬柟娉曪紝澶у濡傛灉璇曡繃鐨勮瘽鍙兘宸茬粡娉ㄦ剰鍒扮郴緇熺姸鎬佹爮閲屽湪紼嬪簭鍚姩鏃朵細鏈夌▼搴忕殑鍥炬爣闂繃錛屽湪闅愯棌瀵硅瘽妗嗙殑鏃跺欒繖涓篃鏄闅愯棌鐨勶紝鏂規硶寰堢畝鍗曪細
鍦∣nInitDialog()鍑芥暟閲岄潰鍔犱笂ModifyStyleEx(WS_EX_APPWINDOW,
WS_EX_TOOLWINDOW);鍗沖彲銆傚湪瑕佹樉紺虹獥鍙g殑鍦版柟鍔犱笂浠g爜ModifyStyleEx(WS_EX_TOOLWINDOW,
WS_EX_APPWINDOW);鍗沖皢紿楀彛鐨勬墿灞曟牱寮忔敼鍥炴潵銆?
浠ヤ笂鏄垜鐨勪竴鐐圭粡楠屾葷粨錛屾湁閿欒鎴栦笉瀹屽杽鐨勫湴鏂硅繕鏈涘ぇ瀹舵彁鍑烘寚姝c傛榪庡ぇ瀹朵笌鎴戣仈緋匯?br>
]]>
]]>
Allegro - 鍩轟簬 C/C++ 鐨勬父鎴忓紩鎿庯紝鏀寔鍥懼艦錛屽0闊籌紝杈撳叆錛屾父鎴忔椂閽燂紝嫻偣錛屽帇緙╂枃浠朵互鍙奊UI銆?
Axiom 寮曟搸 -
OGRE鐨勮鐢熷紩鎿庛?
Baja 寮曟搸 - 涓撲笟鍝佽川鐨勫浘鍍忓紩鎿庯紝鐢ㄤ簬The Lost Mansion銆?
Boom -
Doom浠g爜鐨勪竴閮ㄥ垎銆傜敱TeamTNT寮鍙?
Build 寮曟搸 - 涓涓涓浜虹О灝勫嚮娓告垙寮曟搸錛岀敤浜嶥uke Nukem 3D銆?
Bullet -
寮婧愮墿鐞嗗紩鎿庯紝騫挎硾搴旂敤鍦ㄥ悇澶ф父鎴忎富鏈恒?
BYOND - “Build Your Own Net
Dream”鐨勬墍鍐欙紝鏀寔鍚勭綾誨瀷鐨勬父鎴忥紝鍖呮嫭MMORPG銆?
Ca3D-寮曟搸 - 涓涓瘮杈冩垚鐔熺殑寮曟搸錛屾湁鑷繁鐨凷DK錛屼笘鐣岀紪杈戝櫒絳夈?
Cadabra 3D 寮曟搸 - 鐢ㄤ簬蹇熷紑鍙?D娓告垙銆?
Catmother -
涓涓熀浜嶣SD鎺堟潈鐨勫紩鎿庯紝鍙檺涓漢浣跨敤錛屼笉鑳藉仛鍟嗕笟鐢ㄩ斻傛槸涓瀹舵父鎴忓叕鍙哥殑寮婧愬紩鎿庛?
CheapHack - 涓涓凡緇忚繃鏃剁殑TomazQuake琛嶇敓寮曟搸銆?
Crystal Entity Layer - Crystal Space 3D 寮曟搸鐨勬墿鍏?
Crystal Space -
3D搴旂敤紼嬪簭鐨勫父瑙勬鏋躲?
Cube - Cube2 鈹鈹> Sauerbraten
DarkPlaces - 楂樼駭寮婧?D寮曟搸涔嬩竴銆?
Delta3d - 鏁村悎鍜屽叾浠栫煡鍚嶅厤璐瑰紩鎿庯紝鏈鍒濈敱緹庡浗鍐涙柟寮鍙戙?
DGD - 涓涓潰鍚戝璞$殑MUD寮曟搸銆?
Doom 寮曟搸 -
鐜板湪宸茬粡鍏嶈垂鐨勫紩鎿庯紝鏇劇敤浜嶥oom鍜孌oom II
DXFramework - 涓涓畝鍗曪紝甯︽湁鏁欏鎬ц川鐨?D/3D寮曟搸錛屽熀浜嶥irectX鍜孷isual
Studio
DX Studio - 涓涓笓涓?D寮曟搸錛岄檮甯︾紪杈戝櫒濂椾歡錛岀敱Worldweaver鍏徃寮鍙戙?
Eclipse - 涓涓?D
MMORPG緙栬緫鍣ㄣ?
Elysium Source - 2D緗戠粶娓告垙寮曟搸錛孷B6寮鍙戙?
Engine 001 - 2D 鍔ㄤ綔綾籖PG娓告垙緙栬緫鍣ㄣ?
Epee 寮曟搸 -涓涓?D/3D寮鏀炬簮浠g爜鍥懼儚寮曟搸錛屽騫沖彴銆?
Eternity 寮曟搸 - Doom寮曟搸鐨勬敼榪涖?
Exult -
Ultima VII浣跨敤鐨勫紩鎿庣殑寮婧愮増銆?
FIFE - 杈愬皠1鍜?浣跨敤寮曟搸鐨勫厠闅嗐?
Game Blender -
Blender鐨勫瓙欏圭洰娓告垙寮曟搸錛岀敤浜庡紑鍙戞父鎴忋?
Game Maker - 闈㈠悜瀵硅薄鐨勮蔣娓告垙寮鍙戝鉤鍙幫紝鏀寔鎷栨斁緙栬緫浠ュ強鍏惰嚜宸辯殑鑴氭湰璇█銆?
GQ -
涓涓猀uake寮曟搸錛屽娣諱簡鏉ヨ嚜TomazQuake鍜孌arkPlaces鐨勮澶氭柊鐗規с?
GZDoom - 鍩轟簬ZDoom鐨勫紩鎿庛?
Genesis3D - 鐢ㄤ簬Windows鐨?D瀹炴椂娓叉煋寮曟搸
GemRB - Infinity Engine鐨勪竴涓厤璐圭殑杞歡瀹炵幇銆?
G3DRuby - 鐢ㄤ簬楂樼駭3D鍥懼艦銆?
Haaf's Game Engine - 涓涓嬌鐢ㄧ‖浠跺姞閫熺殑2D娓告垙寮曟搸銆?
Irrlicht
寮曟搸 - 涓涓騫沖彴楂樿川閲忕殑3D鍥懼艦寮曟搸銆?
ioquake3 - 涓涓熀浜巌d Tech 3鐨勫紩鎿?
Gosu 2D娓告垙寮鍙戝簱錛岀敤浜嶤++銆?
Jogre - 涓涓熀浜嶫ava鐨勭綉緇滄父鎴忓紩鎿庛?
MRPGe - Visual Basic寮鍙戠殑2D
RPG娓告垙寮曟搸錛岄檮甯﹀唴緗殑鑴氭湰鏀寔錛屽彲瀹氬埗鍖栧己錛屾鍦ㄥ紑鍙戦樁孌點?
M.U.G.E.N - 2D鏍兼枟娓告垙寮曟搸銆?
Multiverse Network
- 緗戠粶娓告垙寮鍙戝鉤鍙幫紝鍖呭惈鏈嶅姟绔佸鎴風錛屼互鍙婁竴浜涘紑鍙戝伐鍏鳳紙瀵逛釜浜哄厤璐癸級
Nebula Device - 鐢卞痙鍥界殑娓告垙寮鍙戝伐浣滃寮鍙戠殑瀹炴椂娓叉煋3D寮曟搸銆?
NeL 寮曟搸 - 鐢ㄤ簬寮鍙戠綉緇滄父鎴忕殑寮曟搸銆?
OctLight - Java娓告垙寮曟搸錛屽熀浜嶰penGL銆?
Open Dynamics
Engine - 鐗╃悊寮曟搸
Open Game Engine - 涓涓紑婧愬紩鎿庯紝鍖呭惈寮鍙戞父鎴忔墍闇鐨勫悇縐嶇粍浠躲?
OGRE Engine -
涓涓潪甯告祦琛岀殑闈㈠悜瀵硅薄鍥懼艦娓叉煋寮曟搸錛屼害縐癘GRE3D銆?
Online RPG Maker - 涓涓?D緗戠粶娓告垙寮曟搸錛屼互鑴氭湰鏂瑰紡緙栬緫銆?
Panda3D 寮曟搸 - 鍩轟簬Python鐨勫揩閫熷紑鍙戞父鎴忓紩鎿庛?
PlayerWorlds - 涓涓畝媧佷笖騫挎硾浣跨敤鐨?D緗戠粶娓告垙寮曟搸銆?
PLIB - 鍖呭惈3D銆侀煶鏁堛丟UI銆佺獥鍙g鐞嗐傛敮鎸丩inux/Windows/MacOSX銆?
ProQuake - 鏇村姩榪囩殑Quake寮曟搸銆?
Pygame - python娓告垙寮曟搸錛屼綔鍝佽PyWeek
姣佺伃鍏埖II寮曟搸 - Quake II鐨勫紩鎿庛?
姣佺伃鍏埖III寮曟搸 -
Quake III鐨勫紩鎿庛?
Reality Factory - 涓涓紑婧愬紩鎿庯紝闈㈠悜闈炵▼搴忓憳寮鍙戯紝鍩轟簬Genesis3d鍥懼艦寮曟搸銆?
Raydium
- Maniadrive 浣跨敤
RealmForge - 鐢ㄤ簬寰蔣 .NET Framework鐨勫紩鎿庯紝Visual3D.NET鐨勫師濮嬬増鏈?
Sauerbraten - 涓涓熀浜嶤ube寮曟搸鐨勪紭鍖栫増銆?
Sonic Robo Blast 2 - 娣卞害淇敼鐨凞oom Legacy寮曟搸
Soya 3D - 鍩轟簬Python鐨勫紑婧?D寮曟搸
Stratagus - 涓涓騫沖彴鍗蟲椂鎴樼暐娓告垙寮曟搸銆?
Telejano -
Quake寮曟搸鐨勪慨鏀圭増銆?
Tenebrae - Quake寮曟搸鐨勪慨鏀圭増銆?
Toi - 涓涓鍦ㄥ紑鍙戠殑3D娓告垙寮曟搸錛屽彲鐢ㄤ簬鍗曟満鍜岀綉緇滄父鎴忓紑鍙戙?
Tomb4 - The engine used to play custom Tomb Raider games built using TRLE
(Tomb Raider Level Editor)
vbGORE - 鐢╒isual Basic 6寮鍙戠殑緗戠粶娓告垙寮曟搸錛堥氳繃3D鍑芥暟琛ㄨ揪2D鍥懼艦錛?
Well of Souls - 鍩轟簬鑴氭湰鍖栫紪杈戠殑2D寮曟搸錛岄檮甯﹀彲瑙嗗寲涓栫晫緙栬緫鍣ㄣ?
Yake - 緇勪歡鍖栵紝闈㈠悜瀵硅薄鍖栫殑鐨勫紩鎿庛?
Zak
寮曟搸 - 涓轟笟浣欏拰涓撲笟娓告垙寮鍙戣呭紑鍙戠殑2D寮曟搸錛屽熀浜嶥irectX 8.1鍜?銆?鏀寔鑴氭湰銆佽創鍥懼湴鍥俱侀煶鏁堛佺矑瀛愮郴緇熺瓑銆?
鍟嗕笟寮曟搸
Arcane 寮曟搸 - Wolfpack Studios涓恒奡hadowbane銆嬪紑鍙戠殑寮曟搸
Aurora 寮曟搸 -
涓篟PG鐮斿彂鐨勫紩鎿庛?
Beyond Virtual - 涓涓潰鍚戝璞″寲鐨勫疄鏃舵覆鏌?D寮曟搸錛岃〃鐜頒紭縐銆?
Blade3D - 鍩轟簬Microsoft
XNA鐨勬柊涓浠e紩鎿庛?
BRender - 涓涓嵆鏃舵覆鏌?D寮曟搸錛岀敤浜庣數鑴戞父鎴忥紝妯℃嫙鍣紝緇樺浘宸ュ叿寮鍙戙?
C4 Engine - Eric
Lengyel寮鍙戠殑涓嬩竴浠g數鑴戞父鎴忓紩鎿?
Chrome Engine - 鏀寔DirectX 10鐨勪笅涓浠f父鎴忔鏋訛紝涓昏鐢ㄤ簬FPS娓告垙錛圵indows,
Xbox 360錛夛紝鐢盩echland寮鍙戙?
Coldstone game engine - an old game creation suite
for Macintosh/Windows to create role-playing or adventure-style games
CryENGINE, CryENGINE2 - CryENGINE鏄婂宀涙儕欖傘嬬殑娓告垙寮曟搸銆?CryEngine 2
鏄疌rytek涓哄紑鍙戙婂宀涘嵄鏈恒嬬爺鍙戠殑鏂頒竴浠f父鎴忓紩鎿庛?
Dagor Engine 3 - A high-tech cross-platform game
engine (3D, physics, game logic) with rich toolset for content development
Deep Creator - A 3D game engine
Doom 3 engine - Used by the games Doom
3, Quake 4, Prey and Quake Wars
EAGL (EA Graphics Library) - A
cross-platform graphics engine used by Electronic Arts in their EA Sports
titles.
Earth-4 Engine - The graphics engine used in Earth 2160
Electron
engine - Currently in development by Obsidian Entertainment for their game
Neverwinter Nights 2, based on the Aurora engine
euphoria - A real-time
motion synthesis engine by NaturalMotion
Explorations - 2d MMO creator
FPSCreator - 3D First Person Shooter creator
Frostbite Engine- Game
engine used for the next-gen title Battlefield: Bad Company
Gamebryo - A
cross-platform 3D computer graphics engine coded in C++
GFX3D -
鐩爣鍏徃涓烘棗涓嬬殑鏁版娓告垙寮鍙戠殑寮曟搸銆?
Havok[1] - Very High-tech cross platform (PC, PS3, Xbox
360 etc) middleware Engine.
IMUSE - Specifically designed to synchronize
music with visual action
INSANE - Used in LucasArts games
Infinity
Engine - Allows the creation of isometric computer role-playing games
Jedi -
A game engine developed by LucasArts for Star Wars: Dark Forces and Outlaws
Kaneva Game Platform - A full featured MMOG engine for independent and
professional game development
KjAPI - A C++ technology to create games and
3D applications for PC computers
Lithtech - A competing alternative to the
Quake, and Unreal engines.
Lithtech Juipter Ex - A new generation Lithtech
engine developed by Monolith to create the game F.E.A.R.
Medusa - A C++ 3D
game engine developed by Palestar and used in the DarkSpace MMO. It features
distributed world simulation, single tool version control and asset realisation,
cross-platform compatibility and an integrated client/server network system.
morpheme - A graphically-authorable animation engine by NaturalMotion
Monumental Technology Suite - A MMOG platform, including server and cleint
technology and development / live management tools.
Multiverse Network - an
MMOG platform, including server, client, and tools. (Free for development and
use--revenue sharing upon commercial deployment).
Odyssey Engine - Used to
create three dimensional computer role-playing games, used in Star Wars: Knights
of the Old Republic
ORE - Online RPG Engine
Quest3D - www.quest3d.com
Power Render -
A general purpose software development kit for games and 3D visualization
RAGE - A game engine created by Rockstar Games use it to power their
upcoming video games on the Xbox 360 and PlayStation 3
Reality Engine - 3D
game engine by Artificial Studios
RelentENGINE - A next-generation FPS
engine supporting massive destroyable city environments and realistic vehicle
control, makes extensive use of shader model 3.
RenderWare - A very popular
3D API and graphics rendering engine
Retribution Engine - A game engine to
make first person shooter games
Revolution3D - A 3D graphics engine
developed by X-Dream Project
RPG Maker XP - A 2D engine to make top-down and
isometric-style role-playing games for Windows.
SAGE engine - Used to create
real-time strategy games
SCUMM engine - Used in LucasArts graphical
adventure games
Serious Engine - The engine by Croteam used in the epic
Serious Sam: The First Encounter and the inspirational - The Second Encounter
Shark 3D - A middleware from Spinor for computer, video games and realtime
3D applications
Silent Storm engine - A turn-based strategy game engine
Sith - A game engine developed by Lucasarts for Jedi Knight: Dark Forces II
Slayer - A game engine created by The Collective, Inc. and used in Buffy the
Vampire Slayer, Star Wars Episode III: Revenge of the Sith, Indiana Jones and
the Emperor's Tomb and Wrath Unleashed
Source engine - A Game Engine
developed by Valve Software for Half-Life 2
Torque Game Engine - A modified
version of a 3D computer game engine originally developed by Dynamix for the
2001 FPS Tribes 2
Torque Game Engine Advanced - A next-generation 3D game
engine support modern GPU hardware and shaders.
TOSHI - A fourth generation
cross platform game engine designed by Blue Tongue Entertainment
Truevision3d - A 3D game engine using the DirectX API
Unigine -
Cross-platform middleware with great graphics
Unity - An easy-to-use
open-ended 3D game/interactive software engine
Unreal engine - One of the
most popular game engines for action games
Vengeance engine - A video game
engine based on the Unreal Engine 2/2.5
Vicious Engine - Available for
Microsoft Windows, Sony PlayStation 2, Microsoft Xbox, and Sony PlayStation
Portable
3DGame Studio - www.3dgamestudio.com
Vision
Game Engine - A commercial game engine used in 50+ titles by companies like T2,
Atari, Neowiz and Threewave. Available for PC, Xbox, Xbox360 and PS3
Visual3D.NET - 3D platform and visual development environment built upon
Microsoft .NET 2.0 and XNA Framework for developing for PC, Xbox 360, and
Windows Mobile devices using C#, Visual Basic, J#, C++.NET, JScript.NET,
IronPython, and visual scripting.
Virtools - A 3D engine combined with
unique high-level development framework, used for game prototyping and rapid
developments. Available for Windows, Macintosh, Xbox, PSP
White Engine -
Square-Enix's proprietary seventh generation game engine to be used for their
PS3 projects.
zerodin engine -
涓涓狹MORPG涓撶敤鐨勫晢涓氬紩鎿庯紝鐢ㄤ簬PC錛孹BOX360絳夊涓鉤鍙幫紝鐩墠涓烘鏈閫傚悎寮鍙慚MORPG鐨勫晢涓氬紩鎿庯紝寮曟搸鍓嶈韓鐢ㄤ簬钁楀悕鐨凴F online.
Zero - 3D game engine used in Star Wars: The Clone Wars, Star Wars:
Battlefront, and Star Wars: Battlefront II
Maz 3D Game Engine - Designed by
Students C++ & OpenGL
鎵嬫満娓告垙寮曟搸
GledPlay - 涓濂楀畬鏁寸殑SDK鐢ㄤ簬寮鍙戞墜鏈烘父鎴忋?
game-editor - 涓篏P2X寮鍙戞父鎴忕殑寮鍙戝浠躲?
PSP
WGAF - Guild Software鐢ㄤ簬寮鍙慥endetta
Online鐨勫紩鎿庛?
XnGine - 鏈鏃╃殑瀹炴椂3D寮曟搸涔嬩竴銆?/font>
]]>
gamedev.csdn.net/ bbs.gamedev.csdn.net/Web/
www.sf.org.cn/
games.enet.com.cn/zhuanti/school/
www.66rpg.com/
www.j2megame.cn/
]]>
novodex
http://www.novodex.com/
ode
http://ode.org/
Tokamak
http://www.adamdawes.com/programming/tokamak/index.html
Newton
http://www.physicsengine.com/
OPCODE
http://www.codercorner.com/Opcode.htm
flade (flash)
#http://www.cove.org/flade/
澹伴煶
openal
http://www.openal.org/
openal++
http://alpp.sourceforge.net/
http://sourceforge.net/projects/alpp/
浜哄伐鏅鴻兘
http://openai.sourceforge.net/
http://sourceforge.net/projects/openai/
3D Engine
blender
http://www.blendercn.org/
http://www.deathblood.net/main/tutorial/
http://www.blenderart.org/index.html
http://bbs.blendercn.org/viewtopic.php?t=183 FTP
http://www.blendercn.org/download/blenderwiki/ Blender鎵嬪唽(From wiki.blendercn.org)
http://www.blendercn.org/download/tutorials/ 鍩虹瑙嗛鏁欑▼
http://www.blendercn.org/download/blendercn/ Blender涓枃鐗?
http://www.blendercn.org/download/yafray/ Yafray娓叉煋鍣?
http://www.blendercn.org/download/blenderart/blenderart_mag-1.zip Blenderart鏉傚織
http://www.blendercn.org/download/blenderart/blenderart_mag-2.zip
http://www.blendercn.org/download/blendersc/ Blander婧愪唬鐮佺紪璇戠幆澧?
http://code.google.com/p/wpyre/ 鍒嗗竷寮忔覆鏌?br>
http://www.softlab.ece.ntua.gr/~jpanta/Graphics/Kerkythea/ 鍦烘櫙緙栬緫鍣紝甯︽潗璐ㄧ紪杈戝櫒
klayGE
http://klayge.sourceforge.net/ 涓浗浜哄仛鐨勫紩鎿?綺樺湡
Axiom
http://axiomengine.sourceforge.net/ c#鐗堢殑OGRE
CAL3D
http://sourceforge.net/projects/cal3d/ 楠ㄩ鍔ㄧ敾寮曟搸
OGRE
http://www.ogre3d.org/
http://ofusion.inocentric.com/
http://chronos.digitalsentience.com/
Irrlicht
http://irrlicht.sourceforge.net/ 瀹樻柟
http://www.irrlicht3d.org/ 浣滆卋log
http://irredit.irrlicht3d.org/ 鍦烘櫙緙栬緫鍣?br>
http://www.gdtoolkit.8m.net/ toolkit
http://irrlichtnetcp.sourceforge.net/ .net鍖呰
http://irrklang.irrlicht3d.org/ irr閰嶅鐨勫0闊沖簱鍜岀紪杈戝櫒
http://irrlichtitalia.altervista.org/start/
http://46577.rapidforum.com/area=11
http://flysnow.cnblogs.com/
mesa3d
http://www.mesa3d.org/
Crystal Space 3D SDK
http://www.crystalspace3d.org/
GUI
CEGUI
http://www.cegui.org.uk/
CEGUI#
http://ceguisharp.sourceforge.net/ CEGUI C#鐗?br>
閫氫俊寮曟搸
raknet
http://www.rakkarsoft.com/ 寮鍘熺殑緗戠粶寮曟搸,鍟嗙敤鏀惰垂
enet
http://enet.cubik.org/ udp鍙潬浼犺緭
tnl
http://www.opentnl.org/ torque network library
udt
http://udt.sourceforge.net/
Sockets Lib
http://www.alhem.net/Sockets/
hawk
http://www.hawksoft.com/
linux upnp sdk
http://sourceforge.net/projects/upnp/
鑴氭湰
澶╀嬌鑴氭湰寮曟搸,綾籧
http://www.angelcode.com/
娓告垙寮曟搸
Truevision3D
http://www.truevision3d.com/ 涓嶅紑婧愶紝鏀寔澶氱璇█
Nebula 2
http://sourceforge.net/projects/nebuladevice
http://nebuladevice.cubik.org/
NeoEngine
http://www.neoengine.org/
Fly3D
#http://www.fly3d.com.br/
http://fabio.policarpo.nom.br/fly3d/
OpenSceneGraph
http://www.physicsengine.com/
RealmForge
http://www.visual3d.net/ 瀹樻柟
http://sourceforge.net/projects/realmforge 欏圭洰鍦板潃
clan
#http://www.clanlib.org/
1. Codecreatures http://www.codecult.com
2. Ogre (free) http://ogre.sourceforge.net/
3. Serious Engine http://www.croteam.com/engine_features.shtml
4. Jet 3D (free) http://www.jet3d.com/
5. 6DX http://www.aztica.com/modules/news/
7. Intrinsic Alchemy http://www.intrinsic.com/
7. Q (free) http://www.qubesoft.com/q/overview.php
8. Power Render 4 http://www.egerter.com/powerrender/index.htm
9. Twilight 3DGE 2 http://twilight3d.com/products/3dge/
10. Wild Tangent http://www.wildtangent.com/default....driver_overview
11. Vital Engine http://www.deep-shadows.com/en/ve20_features.html
12. Quazal http://www.quazal.com/products/index.html
13. Renderware http://www.renderware.com/
14. X Ray Engine http://www.stalker-game.com/index.php?t=engine
15. Netimmerse http://www.ndl.com
16. ExNihilo (free) http://www.ploksoftware.org/index.php
17. Plib (free) http://plib.sourceforge.net/index.html
18. Carsten's 3D Engine (free) http://www.ca3d-engine.de/
19. 3D State (free) http://www.3dstate.com/
20. Destiny 3D http://www.destiny3d.com/pages/engine.html
21. Nive 3D (free) http://www.faktiss.net/index.html
22. Shine 3D http://www.nmg.ru/product.asp?lang=en&design=&id={11376C9A-FB6F-11D3-A930-00C0F0494FCA}
23. Game Creation System 3.0 http://www.pieskysoft.com/prod_gcs.html
24. Amp 3D Game Design System http://www.slamsoftware.com/frameset.html
25. Cloak NT http://www.cauldron.sk/tech/cloaknt.htm
26. Panard Vision (free) http://www.panardvision.com/v3/pv_overview.php
27. Shark 3D http://www.shark3d.com/
28. Fly 3D (free) http://www.fly3d.com.br/
29. Vega Prime http://www.multigen.com/products/ru...ime/index.shtml
30. Jamagic http://www.clickteam.com/English/jamagic.php
31. Quake 2 (free) http://www.idsoftware.com/business/...=true&version=6
32. 3D RAD http://www.3drad.com/
33. Dark Basic Pro http://www.darkbasicpro.com/
34. Blitz 3D http://www.blitzbasic.com/
35. Quest3D http://www.quest3d.com awsome engine
36. 3D Gamestudio A5 http://www.conitec.net/a4info.htm good for beginners
37. TrueVision http://francis.dupont.free.fr/coind...ish/truevision/
38. FreeCraft (free) http://freecraft.net/
39. Genesis 3D (free) http://www.genesis3d.com
40. Auran Jet http://www.auran.com/jet/overview.htm
41. Nebula Device (free) http://www.radonlabs.de/
42. Crystal Space (free) http://crystal.sourceforge.net/drupal/index.php
43. Torque http://www.garagegames.com/pg/product/view.php?id=1
44. LithTech http://www.lithtech.com/
45. Quake 3 Arena http://www.idsoftware.com/business/...=true&version=6
46. Vulpine http://www.vulpine.de/
47. Unreal http://udn.epicgames.com/
48. Miracle 3D http://www.miracle3d.da.ru/
49. Cipher http://www.synapticsoup.com/cipher-overview.htm
50. Virtools http://www.virtools.com/ nasty engine, but very expensive
51. Blender (free) http://www.blender.nl
52. Open GVS http://www.opengvs.com/about.htm
53. Adventuremaker http://www.adventuremaker.com/index.html
54. InterAx Game Engine http://www.cognitial.com/interax/index.htm
55. Power Render X http://www.egerter.com/prx/index.htm
56. Aleph One (free) http://source.bungie.org/
57. The Afterburner http://www.angelfire.com/my/demos/home.htm
58. NemoX (free) http://perso.wanadoo.fr/malakoff/index.htm
59. PTL & QDTE (free) http://membres.lycos.fr/frochet/frame.htm
60. 3DE http://www.recent-software.com/
61. SurRender http://www.surrender3d.com/gfx_main.php
62. Multimedia Fusion http://www.clickteam.com/English/mmfusion.php
63. GraalOnline http://www.cyberjoueurs.com/
64. C2 Engine http://www.pocketeers.com/c2.htm
65. Tenebrae http://tenebrae.sourceforge.net/index.php
66. Crytek http://crytek.com/
67. Shockwave3D: http://www.macromedia.com/software/director/
68. Pulse3D : http://www.pulse3D.com
69. Axel : http://www.mindavenue.com
70. anark studio http://www.anark.com
71. architectural /visualization, dedicated to 3ds Max http://www.cubicspace.com
72. architectural /visualization, dedicated to 3ds Max http://www.vr4max.com
73. Vegastrike http://vegastrike.sourceforge.net/ NEW
74. up to date site for nice engines http://www.3dengines.net/
75. dynamyic engine havok http://www.havok.com/
76. a complete black box solution for absolutely any game that can be imagined http://www.nevrax.org/
77. 3D game engine and multiplayer/singleplayer FPS game http://sourceforge.net/projects/cube/
78. toolkit that lets you create quality games without knowing any programming http://www.realityfactory.ca/v3/
79. 3D game engine developed by 3Ddrome http://www.3ddrome.com/engine.php
80. Iehovah realtime destructible dynamic terrains! http://www.iehovah.com/
81. Voxlap the most advanced 6dof voxel engine http://advsys.net/ken/voxlap.htm
82. 3Impact (trial) - http://www.3impact.com/index.htm
83. The Urgh Engine (demo) - http://www.urgh.cjb.net/
84. Fluid Interactive neEngine - http://www.fluidinteractive.com/
85. Reality Factor Pro - http://pro.realityfactory.ca/
86. Cipher Engine - http://www.cipherengine.com/
87. Auran Jet - http://www.auran.com/jet/default.htm
88. 3D Rulers AMP 3D - http://www.4drulers.com/amp.html
89. Power Render - http://www.3dengine.ca/
90. True Vision 3D - http://www.truevision3d.com/html/
91. Aztica - http://www.aztica.com/modules/news/
92. CloakNT - http://www.cauldron.sk/tech/cloaknt.htm
93. Light Speed - http://lightspeed3d.cjb.net/
94. ExoEngine - http://www.exocortex.org/3dengine/
95. Codecult - http://www.codecult.com/
96. Twilight 3D - http://www.twilight3d.com/modules.p...=thread&order=0
97. Squire3d Engine - http://www.squiresoftgames.com/squire3d.html
98. SunSpire 3D Engine - http://www.razor.sk/sunspire.html
99. flexibil engine http://www.3impact.com
100. first time used an it's really flexibel http://www.garagegames.com/
涓銆佸簳灞傚紑鍙戝寘鍜屽伐鍏?/p>
Mesa 鏄竴涓被OpenGL錛?
http://www.opengl.org 錛夌殑寮婧愬疄鐜般?/p>
2.
http://openil.sourceforge.net
DevIL 錛堝嵆浠ュ墠鐨凮penIL錛夋槸涓涓法騫沖彴鐨勫浘褰㈠鐞嗗寘錛屾敮鎸?/p>
BMP銆丣PG銆丟IF 絳夊縐嶅浘褰㈡枃浠舵牸寮忋?/p>
浜屻?D 娓告垙寮鍙戝寘
http://www-900.ibm.com/developerWorks/cn/linux/theme/special/
SDL錛圫imple DirectMedia Layer錛夋槸涓涓法騫沖彴鐨勫濯掍綋鍜屾父鎴忓紑
鍙戝寘錛屾彁渚?D銆侀煶棰戙佷簨浠墮┍鍔ㄣ佸綰跨▼鍜屽畾鏃跺櫒絳夋湇鍔★紝騫舵湁澶?/p>
閲忕殑鎵╁厖寮鍙戝寘錛屽TCP/IP 緗戠粶銆佹父鎴忚鑹層佹販闊崇瓑銆係DL 鏄敤C
寮鍙戠殑錛屼絾涔熸湁Perl銆丳HP銆丏elphi 絳夊縐嶈璦鐨勭増鏈?/p>
ClanLib 鏄竴涓氱敤鐨凜++娓告垙寮鍙戝寘錛屾彁渚涙父鎴忚祫婧愭搷浣溿佺綉緇?/p>
瀵硅薄澶勭悊銆丟UI 涓婚鍜屾父鎴忚剼鏈瓑鏀寔銆傛敮鎸乄indows 鍜孡inux銆?/p>
PMT Files – Open Source Game Development
涓夈?D 寮曟搸鍜屾父鎴忓紑鍙戝寘
1.
http://crystal.sourceforge.net/
Crystal Space 鏄竴涓敤C++寮鍙戠殑3D 娓告垙寮鍙戝寘銆傛湁涓板瘜鐨?/p>
鍔熻兘錛屾敮鎸丏irect3D銆丱penGL銆丟lide 絳夈?/p>
2.
http://ogre.sourceforge.net/
OGRE 鏄竴涓潰鍚戝璞$殑3D 寮曟搸錛屾敮鎸丏irectX銆丱penGL 鍜?/p>
Glide 絳夈?/p>
3.
http://hem.passagen.se/opengl/glfw/
GLFW 鏄竴涓狾penGL 鐨勫簲鐢ㄦ鏋訛紝鏀寔Linux 鍜學indows銆?/p>
4.
http://apocalyx.sourceforge.net/
Apocalyx 鏄竴涓熀浜嶰penGL 鐨?D 寮曟搸銆?/p>
Nive 鏄竴涓狢++ 3D 寮曟搸錛屽熀浜嶰penGL 鍜?/p>
DevIL錛屾敮鎸乄indows 鍜孡inux/Xwindow銆?/p>
6.
http://plib.sourceforge.net/
Plib 鏄竴涓?D 娓告垙寮鍙戝寘銆?/p>
7.
http://alleg.sourceforge.net/ Allegro 鏄竴涓法騫沖彴鐨凜/C++娓告垙寮鍙戝寘錛屾彁渚?D銆?D銆佸0鏁堛佺敤
鎴瘋緭鍏ャ佹枃浠躲佸帇緙┿丟UI 絳夊姛鑳姐?/p>
PMT Files – Open Source Game Development
鍥涖佹父鎴忓拰娓告垙妗嗘灦
FreeCraft 鏄竴涓疄鏃舵垬鐣ユ父鎴忥紙RTS錛夋鏋躲?/p>
2.
http://www.worldforge.org/ Worldforge 鏄竴涓畬鏁寸殑澶у瀷緗戠粶RPG 娓告垙妗嗘灦銆?/p>
Arianne 鏄竴涓ぇ鍨嬬綉緇淩PG 娓告垙錛屽悓鏃朵篃鏄竴涓父鎴忔鏋躲?/p>
浜斻佸叾浠?/p>
1.
http://openai.sourceforge.net/ OpenAI 鏄竴涓漢宸ユ櫤鑳界殑宸ュ叿鍖咃紝鍖呮嫭紲炵粡緗戠粶銆侀仐浼犵畻
娉曘佹湁闄愮姸鎬佹満絳夈?/p>
涓銆佽嫳鏂囩綉绔?/p>
Daily Game Development News & Resources
All Your Game Development Needs
3.
http://www.gamedeveloper.net/
4.
http://www.gametutorials.com/
Game Programming with Personality, From Start to Finish
Demo & Game Development
The Game Programming and Design Search Engine
7.
http://www.2dgame-tutorial.com
CMP - The Art & Science of Making Games
CMP - Game Developer Magazine
|
錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳
榪欎釜娓告垙浣跨敤浜唓uake3鐨勫紩鎿庯紝鎵浠ョ敾闈㈢浉褰撳ソ錛屽湪ubuntu閲岄潰瀹夎闈炲父綆鍗?/p> sudo apt-get install tremulous 榪欎釜娓告垙鍙湁澶氫漢鐗堟湰錛岃繘鍏ユ父鎴忎箣鍚庢妸緗戠粶鏀規垚internet錛岀劧鍚巊et newserver錛屽氨鍙互鑾峰彇緗戜笂鐨勬湇鍔″櫒浜嗭紝鏈嶅姟鍣ㄨ繕姣旇緝澶氥傛壘鍒頒漢鏁板拰ping鍊奸兘婊℃剰鐨勬父鎴忓姞鍏ヤ箣鍚庯紝鎸塭sc淇敼涓涓嬭緗紝姣斿鍒嗚鯨鐜囦粈涔堢殑錛? 鎴戞槸鐢ㄧ殑1280X1024錛岃繕闈炲父嫻佺晠銆傝繘鍏ヤ箣鍚庡ソ鍍忓彲浠ラ夋嫨涓や釜縐嶆棌錛屼竴涓槸浜虹被錛屼竴涓槸澶栨槦鎬墿銆傜帺娉曡繕鏄瘮杈冪畝鍗曪紝灝辨槸鏉浜猴紝鐒跺悗寰楅挶錛屼拱瑁呭錛? 鍐嶆潃浜恒?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 鐧炬垬澶╄櫕 sudo apt-get install wormux 鍙埍鐨勫皬铏瓙浠窇鍒發inux涓嬮潰浜?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 sudo apt-get install chromium 榪欎釜鏄痩inux涓嬮潰綾諱技闆風數鐨勪竴涓父鎴忥紝闈炲父濂界帺錛屽己鐑堟帹鑽?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 linux涓嬮潰鐨勬場娉¢緳 sudo apt-get install frozen-bubble 鐢婚潰鍙埍錛岄傚悎鍜屽コ鏈嬪弸涓璧風帺錛屼笂闈㈢殑wormux涔熸槸涓嶉敊鐨勯夋嫨 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 sudo apt-get install tuxkart 璺戣窇鍗′竵杞︼紝 錛屾晥鏋滀竴鑸?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 sudo apt-get install frozen-buble 妗岄潰寮圭悆 2d 娓告垙錛岄煶涔愬ソ鍚紙鎴戞渶鍠滄榪欎釜娓告垙錛?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 FooBillard錛?D鎾炵悆閬婃埐 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 Slune錛?D浼侀禎闁嬭粖鍐掗毆閬婃埐,鍕曚綔閬庨棞,鍏у闈炲父璞愬瘜,涔熻兘鐜╀笉鍚岄鍨嬬殑灝忛亰鎴?濡備繚榻$悆絳?/p> sudo apt-get install slune 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 TORCS錛?D璩借粖閬婃埐,鐜╄搗渚嗛倓涓嶉尟 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 Astromenace錛?D鐩村紡鎹茶桓絀洪枔椋涙灝勬搳閬婃埐,鐣潰鐩哥暥綺劇編 http://www.viewizard.com/download/amenace046b.tar.bz2 (娉細濡傛灉鐒℃硶閬婃埐,鍙枊鍟烻ynaptic鏌ヨ鏄惁宸插畨瑁濅互涓嬫墍闇鐩鎬緷濂椾歡錛? 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 Nexuiz錛?D絎竴浜虹ū妲嶆埌閬婃埐,鐣潰闈炲父綺劇坊,寰堝ソ鐜?鎺ㄨ枽緄﹀枩姝℃鎴伴亰鎴茬殑鏈嬪弸 涓嬭級妾旀錛?nexuiz-v222.zip 瀹屾垚寰岃В澹撶府,閫插叆瑙e綹緦鐨勮硣鏂欏ぞ,榛炴搳nexuiz-linux-glx.sh鎴杗exuiz-linux-sdl.sh妾旀,閬告搰鍩瘋,鍗沖彲闁嬪閬婃埐 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛?/p> 涓湅璞℃cnchess0.2鐗?br> 涓嬭級妾旀 http://www.magiclinux.org/people/yunfan/frogchess/cnchess-0.2.bin.tar.bz2 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛?/p>
QUAKE 3 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 DOOM 1銆?銆? 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 铏氬夠绔炴妧鍦?004錛圲T2004錛? 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 Invasion Battle of Survival錛?/p> 2D妯℃摤絳栫暐閬婃埐,鐜╂硶欏炰技绱呰壊璀︽垝,婊胯睈瀵岀殑,鍦板湒涔熷緢澶? 涓嬭級BOS閬婃埐璩囨枡搴細 http://bos.seul.org/files/bos_2_0_1.tar.gz 瀹夎閬婃埐鎵闇濂椾歡錛? 涓嬭級瀹屼互涓婂叐鍊嬫獢妗堝緦瑙e綹?闁嬪暉緄傜姍?閫插叆stratagus-2.2.2璩囨枡澶?渚嬪錛氬皬寮熻閫插叆鏀劇疆鏂兼闈㈢殑stratagus-2.2.2璩囨枡澶?浣跨敤姝ゆ寚浠わ細 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 銆奛exuiz銆?瀹樻柟緗戠珯 http://www.alientrap.org/nexuiz/ 榪欐槸涓嬈懼厤璐圭殑璺ㄥ鉤鍙扮殑FPS娓告垙銆備竴涓畬鍏ㄥじ瓚婁簰鑱旂綉鐨?D姝諱骸绔炶禌娓告垙銆傛父鎴忕殑鐩殑灝辨槸鍒╃敤瀹岀編鐨勬鍣ㄥ鉤琛″拰蹇妭濂忚姝諱骸绔炶禌鍥炲綊鏈簮錛岃繙紱葷幇 鍦ㄥ皠鍑繪父鎴忔棩瓚嬬湡瀹炵殑瓚嬪娍銆備綘鍙互榪炴帴鍒頒富鏈嶅姟鍣ㄤ笌涓栫晫鍚勫湴鐨勭帺瀹舵父鎴忋傚畠浣跨敤DarkPlaces娓告垙寮曟搸鍗砆uake1寮曟搸鐨勬敼鑹増鏈紝鏈澶氭敮鎸?4 浜哄悓鏃跺湪綰匡紝騫朵笖鎷ユ湁HDR鏁堟灉銆傚湪2005騫?鏈?1鏃ユ帹鍑?.0鐗堟湰錛岀幇鍦ㄩ氱敤鐨勬槸浜?007騫?鏈?6鏃ユ洿鏂扮殑2.2.3鐗堟湰銆侼exuiz鏍囧織鏄? 姹夊瓧鐨?#8220;鍔?#8221;瀛椼?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳 銆夾merica’s Army銆?瀹樻柟緗戠珯 http://www.americasarmy.com/ 榪欐槸涓嬈炬垬鏈被澶氫漢FPS娓告垙錛屽畠鐢辯編鍥介檰鍐涘厤璐瑰埗浣滐紝鐢ㄦ潵瀹d紶鑷繁甯姪寰佸叺宸ヤ綔銆傚湪2002騫?鏈?鏃ュ彂甯冮鐗堬紝鐜板湪浣跨敤鐨勬槸2007騫?鏈?2 鏃ユ洿鏂扮殑2.8.1鐗堟湰銆傚敖綆℃湁鎵硅瘎鑰呮寚璐e畠鍏鋒湁鏀挎不鐩殑錛屼絾鏄簿鑹殑鍒朵綔鍜屽己璋冪湡瀹炴т笌鎴樻湳鍚堜綔浣垮叾澶у彈嬈㈣繋銆傚畠鐨勪富欏墊樉紺哄埌2007騫村凡緇忔湁瓚呰繃 800涓囦漢娉ㄥ唽錛屽湪2002騫村埌2005騫翠換鎰忔椂闂撮兘鏈?500浜哄湪綰匡紝榪欒凍浠ヤ嬌America’s Army鎴愪負鍗佸ぇ鍦ㄧ嚎娓告垙銆傝偛紕ф浘鎺ㄥ嚭榪囧畠鐨勬敼榪涚増錛屽畠涔熸湁涓枃绔欍?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛?/p> 銆奅nemyTerritory: QuakeWar銆?瀹樻柟緗戠珯 http://www.enemyterritory.com/ 榪欐槸Wolfenstein絎竴浜虹О灝勫嚮娓告垙鐨勩奅nemy Territory銆嬶紙鏁屽崰鍖猴級鐨勭畫浣溿傛父鎴忚儗鏅拰Quake 4銆嬩竴鏍烽兘鏄疩uake緋誨垪閲岀殑澶ц儗鏅紝娓告垙閲岄潰鍔犲叆瓚呰繃40縐嶇殑甯歌鐨勪互鍙婄壒鏈夌殑杞﹁締錛屽寘鎷懇鎵樿濺錛屽潶鍏嬶紝鐩村崌鏈猴紝鏃犻噸鍔涢鑸圭瓑銆傞噰鐢ㄥ寮哄瀷Doom3 寮曟搸錛屽皢鍖呭惈鍔ㄦ佸厜褰憋紝鏄煎寰幆錛屽ぉ姘旓紝妞嶈絳変竴緋誨垪鍏堣繘鐨勬晥鏋溿傚湪2006騫碋3灞曡璇勪負鏈浣沖湪綰垮浜烘父鎴忋?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛?/p> 銆奣remulous銆?瀹樻柟緗戠珯 http://tremulous.net/ 榪欐槸涓嬈懼紑婧愮殑絎竴浜虹О灝勫嚮娓告垙錛屼篃鍏峰緗戜笂瀵規垬鍔熻兘錛岃屼笖鏈夊嵆鏃舵垬鐣ュ厓绱犮傜被浼糋loom錛坬uake 2鐨凪OD錛夊拰Natural Selection錛圚alf-Life 鐨凪OD錛夈傛父鎴忛噷鏈変袱涓鏃忥紝浜烘棌鍜屽紓褰紝鍚勬湁浼樺娍鍜屽姡鍔褲傝繖涓父鎴忓凡緇忚涓嬭澆榪?0涓囨銆傚湪2006騫碝OD娓告垙璇勯変腑琚瘎涓?#8220;鏈鐙壒鐨勬父鎴?#8221;銆?/p> 錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛濓紳錛?/p> 銆奦endetta銆?瀹樻柟緗戠珯 http://www.vendetta-online.com/ Vendetta Online銆嬫槸涓嬈句互瀹囧畽涓鴻儗鏅殑MMORPG娓告垙銆傛柊鐜╁鏈?涓皬鏃剁殑浣撻獙鏃墮棿錛屽鏋滀綘鎯崇戶緇瘡鏈堝垯闇鏀粯5緹庡厓銆傜帺瀹墮渶鍦ㄤ笁涓娍鍔涗腑閫夋嫨涓鏂癸紝鐒跺悗椹鵑┒鑷繁鐨勫畤瀹欓鑸癸紝鑷敱椋炶鎺㈤櫓錛屽洜涓鴻娓告垙鐨勬垬鏂楅鏍兼槸“FPS”銆?#8220;瀹炴椂”錛屾墍浠ュ姩浣滄у緢寮?/p> |
濡備綍鎶涘嚭錛坱hrow錛夌敱CUserException媧劇敓鐨勫紓甯革紵
褰撴垜璇曞浘鎹曡幏錛坈atch錛変竴涓淳鐢熺被寮傚父鏃訛紝鎴戝緱鍒頒互涓嬮敊璇?error C2039:'classCMyException': is
not a member of 'CMyException' 'classCMyException': undeclared
identifier 'IsKindOf': cannot convert parameter 1 from 'int*' to 'const
struct CRuntimeClass*"
浣犲繀闇閫氳繃浣跨敤DECLARE_DYNAMIC錛堬級鍜孖MPLEMENT_DYNAMIC()瀹忔潵浣夸綘鐨凜MyException綾誨彲浠ュ姩鎬佸湴鍒涘緩銆侰ATCH瀹忓笇鏈涜兘澶熷緱鍒板叧浜庤鎶涘嚭綾葷殑榪愯鏃跺埢淇℃伅銆?/p>
寮傚父綾諱竴瀹氳浠嶤UserException涓淳鐢熷嚭鏉ュ悧錛?/strong>
涓嶏紝CUserException涓殑"User"浠呬粎鎸囩敤鎴蜂駭鐢熺殑寮傚父銆傝屾妸瀹冨綋浣滀綘鎵鑳芥淳鐢熺殑鍞竴寮傚父鏄甯歌鐨勮瑙c?/p>
濡備綍浠嶩DC寤虹珛涓涓狢DC綾伙紵
鏈夋椂Windows API灝嗕細緇欎綘涓涓狣C鍙ユ焺錛屼綘鍙互閫氳繃瀹冨緩绔嬩竴涓狢DC綾匯備緥濡傦細涓嬫媺寮忓垪琛ㄣ佺粍鍚堟鍜屾寜閽傞氳繃hDC浣犲皢鎺ユ敹鍒扮粯鍒舵秷鎭備笅闈㈡槸灝咹DC杞崲鎴愪綘鏇寸啛鎮夌殑CDC鐨勭▼搴忔銆備綘涔熷彲浠ュ皢璇ユ妧宸х敤鍦ㄥ叾浠栦換浣昅FC綾誨拰Windows鍙ユ焺鐨勮漿鎹腑銆?/p>
void MyODList::DrawItem(LPDRAWITEMSTRUCT lpDrawItem)
{
CDC myDC;
myDC.Attach(lpDrawItem->hDC);
//鍦ㄦ鎻掑叆鍏朵粬闇瑕佺殑浠g爜銆?br>
//濡傛灉浣犱笉灝嗗彞鏌勫垎紱伙紝瀹冨皢琚垹闄わ紝浠庤屽鑷撮棶棰樸?br> myDC.Detach();
}
鍙︿竴涓柟娉曟槸璋冪敤CDC綾葷殑FromHandle鏂規硶錛?br> CDC * pDC = CDC:FromHandle(lpDrawItem->hDC);鐩墠榪樹笉娓呮鍝鏂規硶鏇翠紭瓚娾曚嬌鐢‵romHandle()鐨勯敊璇篃璁鎬細鏇村皯浜涳紝鍥犱負瀹冧笉瑕佹眰浣犲垎紱伙紙detach錛夊彞鏌勩?
濡備綍浠庣鐩樹笂璇誨彇256鑹蹭綅鍥炬枃浠訛紵
褰撳墠錛孧FC騫朵笉鏀寔鐩存帴璇誨彇鍜屾樉紺篋IB鏂囦歡鍜孊MP鏂囦歡銆傜劧鑰岋紝鏈夊緢澶氭牱渚嬪簲鐢ㄧ▼搴忚兘澶熻鏄庡浣曞畬鎴愯欏逛換鍔°傜涓涓緥瀛愭槸MFC鏍蜂緥紼嬪簭 DIBLOOK銆傛牱渚婱ULTDOCS鐢―IBLOOK鎻愪緵鐨勭浉鍚屾簮浠g爜鏉ヨ鍙栧茍鏄劇ずDIB鏂囦歡鍜孊MP鏂囦歡銆傚叾浠栦袱涓猇C++涓檮甯︾殑渚嬪瓙鏄疭DK杞歡 鍖呬腑鐨凞IBVIEW紼嬪簭鍜孲HOWDIB紼嬪簭銆?/p>
濡備綍鏀瑰彉涓涓鍥劇殑澶у皬錛?/strong>
閫氬父錛屼綘鍙互璋冪敤鍑芥暟MoveWindow錛堬級鏉ユ敼鍙樼獥鍙g殑澶у皬銆傚湪鐢∕FC搴撳紑鍙戠殑搴旂敤紼嬪簭涓紝 瑙嗗浘鏄妗嗘灦紿楀彛鎵鍥寸粫鐨勪竴涓瓙紿楀彛銆備負浜嗘敼鍙樹竴涓鍥劇殑澶у皬錛屼綘鍙互閫氳繃璋冪敤鍑芥暟GetParentFrame()鏉ュ緱鍒版鏋剁獥鍙g殑鎸囬拡錛岀劧鍚庤皟鐢ㄥ嚱鏁? MoveWindow()鏉ユ敼鍙樼埗紿楀彛鐨勫ぇ灝忋傚綋鐖舵鏋剁獥鍙f敼鍙樺ぇ灝忔椂錛岃鍥句篃浼氳嚜鍔ㄥ湴鏀瑰彉澶у皬鏉ラ傚簲鐖剁獥鍙c?/p>
濡備綍鏀瑰彉涓涓狢FormView鐨勫ぇ灝忥紵
瑕佹兂璇︾粏浜嗚В鐨勮瘽錛屼綘鍙互鐪嬫湁鍏砎isual C錛嬶紜鍩虹鐭ヨ瘑鐨勬枃绔燪98598 銆奤sing CFormView in SDI and MDI Applications銆嬨傚熀鏈笂錛屽湪浠嶤FormView綾繪淳鐢熷嚭鏉ョ殑綾諱腑錛屼綘蹇呴』瑕嗙洊鍑芥暟OnInitialUpdate()銆傚叾浠栨湁鍏沖緩绔? CFormView鐨勭粏鑺傞棶棰橈紝鍙互浠庤鏂囩珷涓幏寰椼?/p>
鍦ㄧ被ClikethisView涓0鏄庡涓嬪嚱鏁幫細
virtual void OnInitialUpdate();
鍦–likethisView鐨勪唬鐮佷腑錛屽嚱鏁板涓嬶細
void ClikethisView::OnInitialUpdate()
{
//浣跨獥鍙d笌涓誨璇濇鍚屾牱澶у皬
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit( /*FALSE*/ );
}
濡備綍浣跨敤涓涓枃妗fā鏉跨殑鏂拌鍥撅紵
鍦ㄧ敤AppWizard鍒涘緩鐨勫簲鐢ㄧ▼搴忎腑錛屼綘鏈変袱縐嶉夋嫨錛氭敼鍙樺綋鍓嶈鍥劇殑媧劇敓鍏崇郴鎴栬呭緩绔嬩竴涓柊瑙嗗浘騫朵笖鍦ㄤ綘鐨凪DI紼嬪簭涓悓鏃跺埄鐢ㄦ柊瑙嗗浘鍜屽師鍏堢殑瑙嗗浘銆?br>
涓轟簡鍒涘緩涓涓柊瑙嗗浘錛屼綘鍙互鐢–lassWizard鐢盋View媧劇敓涓涓柊鐨勭被銆傚綋鏂扮被鍒涘緩浠ュ悗錛屽埄鐢ㄦ柊瑙嗗浘鎴栦慨鏀圭敱AppWizard鎻愪緵鐨勮鍥撅紝涓よ呯殑姝ラ鏄浉鍚岀殑銆?br>
淇敼瑙嗙被鐨勫ご鏂囦歡錛屼粠鑰屽皢鎵鏈夊CView綾葷殑寮曠敤鏀瑰悕涓轟綘鎵鎯寵鐨勫悕縐般傛湰渚嬩腑鐨勭被鐢盋ScrollView媧劇敓鑰屾潵銆傞氬父錛岃繖涓楠ゅ寘鎷綾葷殑鏀瑰彉錛岃綾誨皢鐢卞涓嬫柟寮忔淳鐢熻屾潵錛?br>
class CMyView : public CScrollView
淇敼瑙嗙被鐨勫疄鐜版枃浠訛紝浠庤屽皢鎵鏈夊CView鐨勫紩鐢ㄦ敼鍚嶄負浣犳墍鎯寵鐨勫悕縐般傝繖鍖呮嫭灝咺MPLEMENT_DYNCREATE閭d竴琛岀殑璇彞鏀逛負錛?br>
IMPLEMENT_DYNCREATE(CMyView, CScrollView)
灝咮EGIN_MESSAGE_MAP閭d竴琛岀殑璇彞鏀逛負錛?br>
BEGIN_MESSAGE_MAP(CMyView, CScrollView)
騫朵笖灝嗗叾浠栨墍鏈夌殑CView鏀規垚CScrollView.
鍋囧浣犱慨鏀圭殑瑙嗗浘鏄敱AppWizard鐢熸垚鐨勶紝閭d箞灝變笉闇瑕佷綔鏇村鐨勪慨鏀逛簡銆傝屽鏋滀綘鍦ㄥ垱寤轟竴涓柊瑙嗗浘錛屽厛鍦?
CWinApp::InitInstance()鍑芥暟涓壘鍒板AddDocTemplate()鍑芥暟鐨勮皟鐢ㄣ侫ddDocTemplate()鍑芥暟鐨勭涓?
涓弬鏁版槸RUNTIME_CLASS(CSomeView)錛岀敤CMyView鏉ヤ唬鏇緾SomeView錛屽氨鍙互灝嗗綋鍓嶈鍥炬敼涓烘柊瑙嗗浘銆傚湪MDI搴旂敤紼嬪簭
涓紝浣犲彲浠ュ鍔犵浜屼釜AddDocTemplate()鍑芥暟璋冪敤鏉ヤ嬌鐢ㄥ瑙嗗浘綾誨瀷錛屽皢RUNTIME_CLASS(CSomeView)鏀逛負
RUNTIME_CLASS (CMyView)銆?br>
瑕佹兂鑾峰緱鏇村鐨勪俊鎭鍙傞槄Q99562涓浉鍏蟲枃绔犮奡witching Views in a Single Document Interface Program銆?銆?/p>
濡備綍鏀瑰彉瑙嗗浘鐨勮儗鏅壊錛?/strong>
浣犲彲浠ラ氳繃澶勭悊WM_ERASEBKGND娑堟伅鏉ユ敼鍙楥View銆丆FrameWnd鎴朇Wnd瀵硅薄鐨勮儗鏅壊銆傝鐪嬪涓嬬殑紼嬪簭孌碉細
BOOL CSampleView::OnEraseBkgnd(CDC* pDC)鑰屾垜鍒欑敤濡備笅鏂規硶瑙e喅榪欎釜闂錛?
{
// 璁劇疆鎵瑕佹眰鑳屾櫙鑹茬殑鍒峰瓙
CBrush backBrush(#ff8080);
// 淇濆瓨鏃у埛瀛?br> CBrush* pOldBrush = pDC->SelectObject(&backBrush);
CRect rect;
pDC->GetClipBox(&rect); // 鎿﹂櫎鎵闇鐨勫尯鍩?br> pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);
pDC->SelectObject(pOldBrush);
return TRUE;
}
HBRUSH dlgtest::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
switch (nCtlColor)
{
case CTLCOLOR_BTN:
case CTLCOLOR_STATIC:
{
pDC->SetBkMode(TRANSPARENT);
}
case CTLCOLOR_DLG:
{
CBrush* back_brush;
COLORREF color;
color = (COLORREF) GetSysColor(COLOR_BTNFACE);
back_brush = new CBrush(color);
return (HBRUSH) (back_brush->m_hObject);
}
}
return(CFormView::OnCtlColor(pDC, pWnd, nCtlColor));
}
濡備綍寰楀埌褰撳墠瑙嗗浘錛?/strong>
鏈浣蟲柟娉曟槸灝嗚鍥懼綋浣滀竴涓弬鏁版潵浼犻掋傚鏋滀笉鑳借繖鏍峰仛錛屼絾浣犵‘淇″畠鏄綋鍓嶆縺媧繪枃妗e拰褰撳墠嬋媧昏鍥劇殑璇濓紝浣犱篃鍙互寰楀埌璇ヨ鍥俱傚叿浣撶粏鑺傝Visual C++鏂囩珷Q108587銆奊et Current CDocument or CView from Anywhere銆嬨?/p>
綆鍗曡鏉ワ紝鐢細鏉ュ緱鍒版枃妗e拰瑙嗗浘銆備竴涓ソ鐨勬柟娉曟槸灝嗗畠浠皝瑁呭湪浣犵殑CMyDoc鍜孋MyView綾葷殑闈欐佸嚱鏁頒腑錛屽茍涓旀牳瀵瑰畠浠槸鍚﹀睘浜庢紜殑RUNTIME_CLASS銆傜劧鑰岋紝鍋囧榪欎釜瑙嗗浘涓嶆槸褰撳墠嬋媧昏鍥炬垨鑰呬綘鍦ㄨ繍琛孫LE鏈湴嬋媧伙紝榪欐牱灝嗕笉鎴愬姛銆?
((CFrameWnd*) AfxGetApp()->m_pMainWnd))->GetActiveDocument()
鍜岋細
((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()
濡備綍鍦ㄤ竴涓枃妗d腑寤虹珛澶氫釜瑙嗗浘錛?/strong>
CDocTemplate::CreateNewFrame()鍑芥暟鍒涘緩MFC
MDI搴旂敤紼嬪簭涓殑鏂囨。鐨勯檮鍔犺鍥俱備負浜嗚皟鐢ㄨ鍑芥暟錛岃鎸囧畾涓涓寚鍚慍Document瀵硅薄錛堟寚灝嗕負涔嬪緩绔嬭鍥劇殑鏂囨。錛夌殑鎸囬拡鍜屼竴涓寚鍚戝彲浠庝腑澶嶅埗灞炴х殑
妗嗘灦紿楀彛鐨勬寚閽堛備竴鑸儏褰笅錛岃鍑芥暟鐨勭浜屼釜鍙傛暟涓篘ULL銆?
褰撳簲鐢ㄧ▼搴忚皟鐢ㄥ嚱鏁癈reateNewFrame()鏃訛紝璇ュ嚱鏁板氨鍒涘緩涓涓鏋剁獥鍙e拰鍦ㄨ紿楀彛鍐呯殑瑙嗗浘銆傛鏋剁獥鍙e拰瀹冪殑瑙嗗浘鐨勭被鍨嬬敱涓嶤reateNewFrame()鍑芥暟璋冪敤鎸囧畾鐨勬枃妗g浉鍏崇殑鏂囨。鎽告澘(CDocTemplate)鍐沖畾銆?
Visual C++涓殑CHKBOOK MFC鏍蜂緥紼嬪簭涔熸紨紺轟簡濡備綍涓烘枃妗e緩绔嬮檮鍔犵殑妗嗘灦鍜岃鍥俱傛鏌HKBOOK.CPP鏂囦歡涓殑CChkBookApp::OpenDocumentfile()鍑芥暟銆?
鍙︿竴涓敤鍑芥暟CreateNewFrame()鐨勪緥瀛愭槸MULTVIEW鏍鋒湰紼嬪簭銆?
CreateNewFrame()鍑芥暟寤虹珛浜嗕竴涓鏋跺拰涓涓鍥撅紝鑰屼笉浠呬粎鏄竴涓鍥俱傚亣濡侰reateNewFrame()鍑芥暟涓嶈兘瀹屽叏絎﹀悎浣犵殑闇瑕侊紝鍙弬鑰僀reateNewFrame()鍑芥暟鐨勬簮紼嬪簭鏉ヤ簡瑙e寤虹珛緇撴瀯鍜岃鍥炬墍蹇呴』鐨勬楠ゃ?/p>
濡備綍鍦∕DI紼嬪簭涓緱鍒版墍鏈夌殑瑙嗗浘錛?/strong>
浣犲繀欏葷敤涓浜涙枃妗d腑娌℃湁璁拌澆鐨勫嚱鏁幫細
CDocument::GetFirstViewPosition(); // DOCCORE.CPP
CDocument::GetNextView(); // DOCCORE.CPP
CMultiDocTemplate::GetFirstDocPosition(); // DOCMULTI.CPP
CMultiDocTemplate::GetNextDoc(); // DOCMULTI.CPP
浣犺繕闇瑕佷笌CWinApp鐨勬垚鍛榤_templateList鎵撲氦閬撱?br> 娉ㄦ剰錛氬湪MFC 鐗堟湰4.0涓凡鏀瑰彉銆傜幇鍦ㄥ凡緇忔湁涓涓彨CDocManager鐨勭被鍙互甯姪浣犳樉紺烘墍鏈夌殑瑙嗗浘鍜屾枃妗c傝鍙傝冦奙FC Internals銆嬭幏寰楁洿璇︾粏鐨勪俊鎭?/p>
濡備綍寤虹珛涓涓彲鐢ㄩ紶鏍囨媺鍔ㄧ殑CScrollView綾?/strong>
鍦–IS涓婁粠MSMFC搴撲笅杞紸UTOSV.LZH銆傝繖涓▼搴忓憡璇変綘濡備綍瀹炵幇涓涓緟鍔╂秷鎭驚鐜潵綆$悊榧犳爣鐨勬椿鍔紝騫舵彁渚涗簡閽╂寕鏉ュ浠g爜榪涜瀹氬埗銆傝繖鏄竴涓厤璐硅蔣浠躲?/p>
涓瀹氳鐢ㄨ鍥?鏂囨。緇撴瀯鍚楋紵
MFC騫朵笉涓瀹氳姹備綘浣跨敤鏂囨。/瑙嗗浘緇撴瀯銆傛煡鐪婬ELLO銆?MDI鍜孒ELLOAPP渚嬪瓙鈥曞畠浠氨娌℃湁鐢ㄩ偅縐嶇粨鏋勩傚ぇ澶氭暟MFC鐗規ч兘鍙互鍦ㄩ潪鏂囨。/瑙嗗浘搴旂敤紼嬪簭涓緱鍒拌繍鐢ㄣ備絾鏄綋浣犱笉鐢ㄦ枃妗?/ 瑙嗗浘緇撴瀯鏃訛紝浣犵‘瀹炰細澶卞幓涓浜涚壒鎬э紝渚嬪鎵撳嵃棰勮鍜岃澶歄LE鐗規с?/p>
濡備綍寰楀埌褰撳墠鏂囨。錛?/strong>
璇瘋緇嗗弬闃?濡備綍寰楀埌褰撳墠瑙嗗浘錛?绔犺妭銆?/p>
鏂囨。浣曟椂琚瀽鏋勶紵
鍦⊿DI紼嬪簭涓紝紼嬪簭閫鍑哄悗鏂囨。灝辮鍒犻櫎銆傚湪MDI紼嬪簭涓紝涓庤鏂囨。鐩稿叧鐨勬渶鍚庝竴涓鍥懼叧闂椂鏂囨。灝辮鍒犻櫎銆備負浜嗗湪SDI鍜孧DI涓悓鏃剁敤榪欎釜鏂囨。錛屼綘搴旇鍦ㄨ櫄鍑芥暟DeleteContents()鍑芥暟涓垹闄よ鏂囨。鐨勬暟鎹紝鑰屼笉鏄湪鏋愭瀯鍣ㄤ腑銆?/p>
濡備綍寤虹珛澶氭枃妗o紵
涓轟簡鍔犲叆瀵歸檮鍔犳枃妗g被鍨嬬殑鏀寔錛屼綘鍙互鍦–WinApp媧劇敓綾諱腑鍒涘緩鍜屾敞鍐岄檮鍔燙multiDocTemplate瀵硅薄銆傝繖縐嶆柟娉曞凡緇忓湪MULTDOCS鏍蜂緥紼嬪簭涓緱浠ヨ鏄庛傚皢涓涓檮鍔犳枃妗g被鍨嬪姞鍏ュ埌MFC紼嬪簭鐨勪竴鑸楠ゅ涓嬶細
鐢ˋppWizard鏉ュ垱寤轟竴涓柊鐨勬枃妗g被鍜岃鍥劇被銆?
鐢ㄨ祫婧愮紪杈戝櫒澧炲姞鏂扮殑璧勬簮瀛椾覆鏉ユ敮鎸佹柊鐨勬枃妗g被銆傝鎯崇煡閬撳叧浜庢枃妗f牱鏉垮瓧絎︿覆鏍煎紡鐨勬洿澶氬唴瀹癸紝璇峰弬闃?濡備綍鐞嗚В鏂囨。鏍鋒澘瀛楃涓?銆?br>
鐢ㄨ祫婧愮紪杈戝櫒澧炲姞闄勫姞鐨勫簲鐢ㄧ▼搴忓浘鏍囧拰鑿滃崟璧勬簮銆傛敞鎰忥紝榪欎簺璧勬簮涓瘡涓涓殑ID閮藉繀欏諱笌鍦ㄦ楠?涓垱寤虹殑鏂囨。妯℃澘瀛楃涓茬殑ID鏄浉鍚岀殑銆傝繖涓狪D琚獵multiDocTemplate綾葷敤鏉ヨ瘑鍒笌闄勫姞鏂囨。綾誨瀷鐩稿叧鐨勮祫婧愩?br>
鍦ㄥ簲鐢ㄧ▼搴忕殑InitInstance錛堬級鍑芥暟涓紝鍒涘緩浜嗗彟涓涓狢MultiDocTemplate瀵硅薄騫朵笖鐢–WinApp::AddDocTemplate()鍑芥暟鏉ユ敞鍐屻備緥濡傦細
CMultiDocTemplate* pDocTemplate2 = new CMultiDocTemplate(鏈鍚庯紝灝嗗畾鍒剁殑搴忓垪鍖栧拰緇樺浘浠g爜鍔犲叆鍒頒綘鐨勬柊鏂囨。鍜岃鍥劇被涓?
IDR_DOC2TYPE, RUNTIME_CLASS(CDoc2),
RUNTIME_CLASS(CMDIChildWnd),RUNTIME_CLASS(CView2));
AddDocTemplate(pDocTemplate2);
濡備綍寰楀埌涓涓墦寮鏂囨。鐨勫垪琛紵
涓嬮潰鐨勭▼搴忔鎸囨槑濡備綍寰楀埌鐢–DocTemplate瀵硅薄寤虹珛鐨勬墍鏈夋枃妗g殑鎸囬拡鍒楄〃銆?br> 涓嬮潰鐨勭▼搴忔涓紝CMyApp鐢盋WinApp媧劇敓鑰屾潵銆傚彉閲弇_templateList鏄竴涓狢PtrList瀵硅薄錛屽畠鏄疌winApp鐨勬垚鍛樺彉閲忥紝 鍖呭惈涓涓墍鏈夋枃妗fā鏉挎寚閽堢殑鍒楄〃銆傛枃妗fā鏉垮嚱鏁癎etFirstDocPosition()鍜孏etNextDoc()琚敤鏉ュ湪鏂囨。妯℃澘鍒楄〃涓繘琛岃凱浠f潵 寰楀埌姣忎竴涓枃妗fā鏉褲?/p>
void CMyApp::GetDocumentList(CObList * pDocList)
{
ASSERT(pDocList->IsEmpty());
POSITION pos = m_templateList.GetHeadPosition();
while (pos)
{
CDocTemplate* pTemplate =
(CDocTemplate*)m_templateList.GetNext(pos);
POSITION pos2 = pTemplate->GetFirstDocPosition();
while (pos2)
{
CDocument * pDocument;
if ((pDocument=pTemplate->GetNextDoc(pos2)) != NULL)
pDocList->AddHead(pDocument);
}
}
}
鍦ㄥ弬鑰冩墜鍐屾垨鍦ㄧ嚎甯姪涓紝鏈変袱涓狢docTemplate綾葷殑鍏叡鎴愬憳鍑芥暟娌℃湁琚鏄庛傜劧鑰岋紝 榪欎簺鍏叡鎴愬憳鍑芥暟鍦–DocTemplate綾諱腑琚畾涔夛紝騫朵笖涓哄湪鎵撳紑鏂囨。鐨勫垪琛ㄤ腑鍓嶅悗鎼滅儲鎻愪緵浜嗙畝鍗曠殑鏀寔銆?/p>
榪欎簺鍑芥暟濡備笅錛?br>
Function virtual POSITION GetFirstDocPosition() const錛?br>
璋冪敤璇ュ嚱鏁板緱鍒板湪鎵撳紑鐨勬枃妗e垪琛ㄤ腑涓庢ā鏉跨浉鍏寵仈鐨勭涓涓枃妗g殑浣嶇疆銆傝繑鍥炵殑POSITION鐨勫艱兘澶熻GetNextDoc鎴愬憳鍑芥暟鍙嶅浣跨敤銆?
Function Virtual CDocument* GetNextDoc(POSITION& rPosition) const錛?br>
rPostion鏄墠闈㈣皟鐢℅etNextDoc
鎴朑etFirstDocPosition鎴愬憳鍑芥暟榪斿洖鐨凱OSITION鍊箋傝繖涓間笉鑳芥槸NULL銆傝皟鐢ㄨ鍑芥暟鏉ュ湪鎵鏈夋墦寮鐨勬枃妗d腑榪涜榪唬銆傝鍑芥暟榪?
鍥炶rPosition鎵鏍囪瘑鐨勬枃妗e茍灝唕Position璁劇疆涓哄垪琛ㄤ腑鐨勪笅涓涓枃妗g殑POSITION鍊箋傚亣濡傛墍媯绱㈢殑鏄垪琛ㄤ腑鐨勬渶鍚庝竴涓枃
妗o紝rPosition灝嗚璁句負絀哄箋?/p>
娉ㄦ剰錛岃繖浠呭MFC3.2鐗堟湰鎴栨洿浣庣増鏈湁鏁堬紝瀵筂FC4.0鐗堟湰璇峰弬鑰冧笅闈細
void CMyApp::DoSomethingToAllDocs()
{
CObList pDocList;
POSITION pos = GetFirstDocTemplatePosition();
while(pos)
{
CDocTemplate* pTemplate = GetNextDocTemplate(pos);
POSITION pos2 = pTemplate->GetFirstDocPosition();
while(pos2)
{
CDocument* pDocument;
if(pDocument = pTemplate->GetNextDoc(pos2))
pDocList.AddHead(pDocument);
}
}
if(!pDocList.IsEmpty()){
pos = pDocList.GetHeadPosition();
while(pos)
{
//涓烘瘡涓涓枃妗h皟鐢–Document鍑芥暟
( (CDocument*)pDocList.GetNext(pos) )
->UpdateAllViews(NULL);
}
}
濡備綍浣挎垜鐨勭▼搴忓湪鍚姩鏃朵笉鍒涘緩涓涓柊鏂囨。錛?/strong>
鍦ㄧ▼搴忕殑InitInstance涓殑ProcessShellCommand鍑芥暟涔嬪墠鍔犲叆錛?cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing
錛堬紞錛? 涓嬮潰鏄父瑙佺殑Afx鍏ㄥ眬鍑芥暟錛?/p>
AfxFormatString1錛氱被浼紁rintf涓鑸湴灝嗗瓧絎︿覆鏍煎紡鍖?/p>
AfxFormatString2錛氱被浼紁rintf涓鑸湴灝嗗瓧絎︿覆鏍煎紡鍖?/p>
AfxMessageBox錛氱被浼糤indows API 鍑芥暟 MessageBox
AfxOuputDebugString錛氬皢瀛楃涓茶緭寰闄ら敊瑁呯疆
AfxGetApp錛氳幏寰梐pplication object (CwinApp媧劇敓瀵硅薄)鐨勬寚閽?/p>
AfxGetMainWnd錛氳幏寰楃▼搴忎富紿楀彛鐨勬寚閽?/p>
AfxGetInstance錛氳幏寰楃▼搴忕殑instance handle
錛堜簩錛? CString 涓巆har []涔嬮棿鐨勮漿鎹?
鍦╒C涓紝鎭愭曡繖涓や釜鏄粡甯歌榪涜杞崲鐨勫惂
char str[10] = ”str”;
CString sstr = “sstr”;
sstr.Format(“%s”,str);
strcpy(str,(LPCTSTR)sstr);
錛堜笁錛? 鍏抽棴紼嬪簭:
PostQuitMessage(WM_CLOSE); 鎴栬匬ostQuitMessage(WM_DESTROY);
鏇寸粷鐨勬槸鍏抽棴鎵鏈夌殑紼嬪簭錛?:ExitWindows ();
錛堝洓錛? 鍦ㄥ叧闂獥鍙f椂錛屽綋瑕佸鏂囦歡榪涜淇濆瓨鏃訛紝鍙湪榪欓噷娣誨姞鍑芥暟錛?/p>
1.錛夊湪CMainFrame閲岀殑OnClose錛堬級閲岋紝鐢∕essageBox("鍐呭","鏍囬",緇勫悎褰㈠紡);緇勫悎褰㈠紡鍙互鏌ョ湅MSDN鐨凪ESSAGEBOX( ) Function
2.錛夊湪CXXXDoc::SaveModified() 閲岋紝鍙兘鐢ˋfxMessageBox("");
涓嶈兘鐢∕essageBox錛堬級鍑芥暟
錛堜簲錛? 濡備綍淇敼紿椾綋鐨勬爣棰橈細
1.錛変慨鏀逛富紿楀彛鐨勬爣棰橈細m_pMainWnd->SetWindowText("浣犵殑鏍囬");
2.錛夊鏋滃湪浣犵殑document綾諱腑榪涜鏀癸紝鍒欑洿鎺ヨ皟鐢⊿etTitle("...")錛屽鏋滃湪浣犵殑view綾諱腑鏀癸紝鍒橤etDocument()->SetTitle("...")
3.錛夊鏋滄兂浣跨獥鍙g殑鏍囬鍏ㄩ儴鏇挎崲錛屽垯鐢細AfxGetMainWnd()->SetWindowText("浣犵殑鏍囬");
錛堝叚錛? 寰楀埌紿椾綋鐨勬爣棰橈細
1.錛堿fxGetMainWnd()->GetWindowText();
2.錛夊厛FindWindow()鎵懼埌紿楀彛鐨凥WND,鍦℅etWindowText();
錛堜竷錛? 鍦ㄥ鏂囨。/瑙嗗浘涓細
1.錛夊瓙紿楀彛鐨勬渶澶у寲錛?/p>
void CChildFrame::ActivateFrame(int nCmdShow)
{
// TODO: Add your specialized code here and/or call the base class
nCmdShow=SW_MAXIMIZE;
CMDIChildWnd::ActivateFrame(nCmdShow);
}
2.錛夊睆钄藉瓙瀵硅瘽妗嗭細鍦ˋPP綾婚噷鎶婅繖涓ゅ彞璇濆睆钄芥帀
if (!ProcessShellCommand(cmdInfo))
return FALSE;
3.錛夊叧闂瓙紿楀彛錛?/p>
::SendMessage(::AfxGetMainWnd()->m_hWnd, WM_COMMAND,ID_FILE_CLOSE,0);
錛堝叓錛? 鍦ㄨ榪涜嚜瀹氫箟鐨勫厜鏍囧悗錛屽湪縐誨姩鐨勮繃紼嬩腑錛岄紶鏍囩殑褰㈢姸鎬繪槸鍦ㄨ嚜瀹氫箟鍜岄粯璁ょ殑鍏夋爣涔嬮棿鏅冨姩錛屽彲浠ヨ繖鏍瘋В鍐籌紝鍦ㄨ涓殑PreCreateWindow錛堬級涓姞鍏ュ涓嬪嚑鍙ワ細
BOOL CXXXXView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.lpszClass =AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW,0,
(HBRUSH)::GetStockObject (WHITE_BRUSH),0);
return CView::PreCreateWindow(cs);
}
錛堜節錛? 鎬庢牱紱佹鏀瑰彉紿楀彛鐨勫ぇ灝忓拰涓嶈兘縐誨姩鐨勭獥鍙o細
鍐?CMainFrame鐨凮nCreate鍑芥暟涓姞鍏ワ細
CMenu *pTopMenu=GetSystemMenu(false);
pTopMenu->RemoveMenu(4,MF_BYPOSITION);//鏈澶у寲紿楀彛涓嶅彲鐢?/p>
pTopMenu->RemoveMenu(2,MF_BYPOSITION);//size
pTopMenu->RemoveMenu(1,MF_BYPOSITION);//浣夸笉鍙Щ鍔?/p>
錛堝崄錛?浣跨獥鍙e緇堝湪鏈鍓嶆柟錛?/p>
鍙鍦ˋpp綾諱腑鐨処nitInstance()鍑芥暟涓姞鍏ヤ互涓嬩唬鐮佸氨鍙互浜?
BOOL CwindowOnTopApp:: InitInstance()
{
//姝ゅ鐣ュ幓浜哣C鑷姩鐢熸垚鐨勪唬鐮?/p>
m_pMainWnd->showWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
m_pMainWnd->SetWindowPos(&CWnd::WndTopMost,0,0,0,0,
SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE);
Return true;
}
杞澆錛岀暀寰呬互鍚庢煡鐪嬨?br>