上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
winpu027 稍嫌羞澀的路人
註冊時間: 2007-09-02 文章: 4
0.00 果凍幣
|
發表於: 2007-9-2, AM 8:43 星期日 文章主題: [問題]想學習看懂MFC |
|
|
小弟在看了
C&C++完美經典
挑戰C++程式語言
C/C++程式設計
Visual C++6 完全功略
之後又看了
http://www.ulinks.com.tw/win32/
網站學習了win32 API
然後去看
Vsual C++ 遊戲設計魔法寶典 榮欣
前面1~6章是用Win API架構
也就是
代碼: | int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{...}
ATOM MyRegisterClass(HINSTANCE hInstance)
{...}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{...}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{...} |
的方式來寫範例因為有看過上面的網站 所以這個是可以看的懂的
但是在第6章後半,突然出現了
代碼: | void canvasFrame::OnTimer(UINT nIDEvent)
{...} |
感覺好像是二本不同的書....熊熊給他看不懂,這個寫法應該是MFC的架構吧(有錯請訂指正,我也不懂><)
想請問一下各位先進如何看懂MFC呢?
翻了一下書後面的DirectX 都是用這種方法寫的呢~想快點進入3D
可以推薦一下書,或者網站(中文><),可以讓小弟進入MFC的世界嗎,感謝><
winpu027 在 2007-9-3, PM 2:11 星期一 作了第 1 次修改 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2007-9-2, AM 11:56 星期日 文章主題: Re: [問題]想學習看懂MFC |
|
|
的確是MFC的架構
話說榮欽在早期還有出過一本「新Visual C++遊戲設計」
那本的內容是講用MFC寫遊戲的
你在第6章看到的程式碼,跟那本在第4章的程式碼一樣
神奇的地方是,遊戲設計魔法寶典以Win32為主,但D3D的部份卻是MFC的架構
而新Visual C++遊戲設計以MFC為主,但D3D的部份卻是Win32的架構
我也不知道榮欽在搞什麼...
總之,那個雖然是MFC不過只有Frame跟App而已,要理解應該不是太難
把它想成兩個類別就行了,而程式進入點從WinMain換成了InitInstance
訊息方面,OnTimer的內容就跟Win32處理WM_TIMER的內容是一樣的
話說,你那本Visual C++6 完全功略應該就是在講MFC的吧?
寫遊戲的話,一般來說MFC不需要懂太多
很少有人用MFC當架構寫大型遊戲的
因為DirectX本身就可以建立視窗
所以MFC的部份你大可以忽視
只要把其中D3D的部份弄懂就行了 |
|
回頂端 |
|
|
winpu027 稍嫌羞澀的路人
註冊時間: 2007-09-02 文章: 4
0.00 果凍幣
|
發表於: 2007-9-2, PM 12:51 星期日 文章主題: |
|
|
感謝大大
Visual C++6 完全功略這本開頭都還是基礎,從第12章才講到視窗MFC
而且並沒有對程式詳加註解,所以有看沒有懂><(沒有懂就不會實用)
MFC跟API對我來說就像"文言文"跟"普通話"一樣,我還是比較看的懂普通話
看來有必要把"新Visual C++遊戲設計"買回來K一下了,從D3D那邊開始看嚕!
感謝大大告知有這樣一本書 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2007-9-2, PM 3:53 星期日 文章主題: |
|
|
新Visual C++遊戲設計是很久以前的書了
現在恐怕已經絕版了喔
而且遊戲設計魔法寶典跟新Visual C++遊戲設計裡的D3D介紹得很少
與其去買Visual C++遊戲設計(假如真的有找到)
還不如買「3D遊戲程式設計入門」(博碩出版)
同樣都是買一本書
不如直接往專講D3D的書去下手
並不是每本書都必須從頭讀到尾全盤了解的
挑有用的讀就好了 |
|
回頂端 |
|
|
happylin 略有貢獻的成員
註冊時間: 2007-07-26 文章: 70
127.34 果凍幣
|
發表於: 2007-9-3, AM 10:45 星期一 文章主題: Re: [問題]想學習看懂MFC |
|
|
winpu027 寫到: |
代碼: | void canvasFrame::OutTimer(UINT nIDEvent)
{...} |
|
這個程式看起來一點也不相是MFC .
MFC 的timer out 不是寫OutTimer
是用OnTimer(UINT nIDEvent)
且MFC 的慣用寫法. class 名稱第一個字母都是大寫的. 且大部份都是C 這個字元
如 void CMainFrame::OnTimer(UINT nIDEvent) |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2007-9-3, PM 12:18 星期一 文章主題: Re: [問題]想學習看懂MFC |
|
|
happylin 寫到: | winpu027 寫到: |
代碼: | void canvasFrame::OutTimer(UINT nIDEvent)
{...} |
|
這個程式看起來一點也不相是MFC .
MFC 的timer out 不是寫OutTimer
是用OnTimer(UINT nIDEvent)
且MFC 的慣用寫法. class 名稱第一個字母都是大寫的. 且大部份都是C 這個字元
如 void CMainFrame::OnTimer(UINT nIDEvent) |
呵呵
OutTimer是winpu打錯了
書上的是OnTimer沒錯
至於canvasFrame則是榮欽改的
繼承自CFrameWnd
的確是MFC沒錯 |
|
回頂端 |
|
|
winpu027 稍嫌羞澀的路人
註冊時間: 2007-09-02 文章: 4
0.00 果凍幣
|
發表於: 2007-9-3, PM 2:15 星期一 文章主題: |
|
|
請問一下大大
3D遊戲程式設計入門
是用win32 API方式教學的嗎?
(還是沒有找到MFC的書><) |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2007-9-3, PM 4:34 星期一 文章主題: |
|
|
winpu027 寫到: | 請問一下大大
3D遊戲程式設計入門
是用win32 API方式教學的嗎?
(還是沒有找到MFC的書><) |
對
基本視窗部份是用Win32 API建立的
不過也就只有這麼一部份
書名有Visual C++的
大多就是在講MFC
如果要經典一點的
微軟有出過一本Windows程式設計使用MFC
原作者Jeff Prosise |
|
回頂端 |
|
|
|