上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-18, PM 9:45 星期五 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:49 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
zwshen 對這略感興趣的新人
註冊時間: 2008-03-11 文章: 22 來自: Taiwan 0.00 果凍幣
|
發表於: 2008-4-18, PM 9:51 星期五 文章主題: |
|
|
HPkon 寫到: | 請問~~~
HGE *g_hge = 0;
這是做什麼用啊???
hge 引擎 - 為一個全域變數
看不太懂意思!!! |
這是宣告 HGE 物件,用來操控 HGE 2D引擎。你可以看到程式碼中到處有 g-hge->xxx 的程式,這就是在叫 HGE 引擎做一些事情,如繪製圖片、讀取使用者按下什麼按鍵之類等。
這裡有 HGE 的官方新手教學文件,你可以先看第一個教學:「Tutorial 01 - Minimal HGE application」。
http://hge.relishgames.com/doc/index.html?tutorials__main.html |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-18, PM 9:56 星期五 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:50 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
zwshen 對這略感興趣的新人
註冊時間: 2008-03-11 文章: 22 來自: Taiwan 0.00 果凍幣
|
發表於: 2008-4-18, PM 10:03 星期五 文章主題: |
|
|
HPkon 寫到: |
如果沒猜錯的話
HGE *g_hge = 0;
HGE→可以當成資料型態
*g_hge→指標變數
是這樣嗎??? |
是啊,這是一個指標變數。
g_hge = hgeCreate(HGE_VERSION);
就是指建立了一個HGE引擎,並用 g_hge 指標指向這個引擎,
之後就能用 g_hge->xxx 做很多事。 |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-18, PM 10:16 星期五 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:50 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-4-19, AM 1:15 星期六 文章主題: |
|
|
HPkon 寫到: | zwshen 寫到: |
是啊,這是一個指標變數。
g_hge = hgeCreate(HGE_VERSION);
就是指建立了一個HGE引擎,並用 g_hge 指標指向這個引擎,
之後就能用 g_hge->xxx 做很多事。 |
原來如此...
多謝大人解答!!!
然而在下還有些疑問
就是#include "hge.h"以下一直到int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)以上都是宣告在全域嗎??? |
是的
你的C/C++基礎有必要多加強喔
不論是指標變數或者全域宣告都是顯而易見的
這種基本語法實在不應該太常拿出來發問
請盡量針對看不懂的語意發問吧
另外
直接從C/C++進入引擎的學習可能有點跳太多了
建議你可以先找尋Windows程式設計或者Win32 API相關的書籍來閱讀
有了視窗建立的概念、訊息驅動原理的了解跟Windows作業系統架構的認知後
再進入引擎學習的部份應該會比較好
推薦的書籍是Charles Petzold寫的Windows程式設計
中譯本由余孟學編譯,Microsoft Press出版 |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-19, AM 9:39 星期六 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:50 星期四 作了第 2 次修改 |
|
回頂端 |
|
|
zwshen 對這略感興趣的新人
註冊時間: 2008-03-11 文章: 22 來自: Taiwan 0.00 果凍幣
|
發表於: 2008-4-19, AM 11:57 星期六 文章主題: |
|
|
HPkon 寫到: |
之前有想說要先學Win32 API和DirectX的
可是有網友說不用Win32 API和DirectX去找個遊戲引擎就行了
所以Win32 API和DirectX沒學就直接跳遊戲引擎了
|
Windows 視窗程式的經典好書的中譯本是這本:
http://tlsj.tenlong.com.tw/WebModule/BookSearch/bookSearchViewAction.do?isbn=9861250557&sid=18310
不過,我個人是覺得,初學者學好C++比較重要,可以暫緩一緩去學習Win32 API跟DirectX。一來是C++不熟的話,要接著學win32 跟direct x 是還滿累的,二來是就算學好,但是要實際用來做出完整的小遊戲,還有很多技術問題要剋服。所以我是認為先利用遊戲引擎做幾個遊戲,練練基本功,會是比較實務的學法。
初學者大部份只會一些 C++ ,資料結構跟演算法可能懂沒幾個,更不用談 OO 或 Design Pattern,也就不用談到Software architecture之類的設計議題。而最重要的基本功,第一個是要很熟C++的語法,第二個是能運用大部份的資料結構跟演算法,就是說要會有用 C++ 的標準樣版函式庫,也就是STL。
初學者找個遊戲引擎來用會比較好,因為比較容易在短時間內做出個小作品,而且在做遊戲的過程中,會更進一步了解C++的語法,也可以遇到常見的資料結構跟演算法,並利用C++ STL去實作,更好的情況,就是也能運用物件導向(object-oriented)的技術來寫程式,這些都是很重要的內功。
等你真能利用遊戲引擎做出幾個小作品時,你就會有相當的基本功,到時候要去學習Win32 跟 DirectX,會比較容易上手。 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-4-19, PM 12:16 星期六 文章主題: |
|
|
HPkon 寫到: | yag 寫到: |
是的
你的C/C++基礎有必要多加強喔
不論是指標變數或者全域宣告都是顯而易見的
這種基本語法實在不應該太常拿出來發問
請盡量針對看不懂的語意發問吧
另外
直接從C/C++進入引擎的學習可能有點跳太多了
建議你可以先找尋Windows程式設計或者Win32 API相關的書籍來閱讀
有了視窗建立的概念、訊息驅動原理的了解跟Windows作業系統架構的認知後
再進入引擎學習的部份應該會比較好
推薦的書籍是Charles Petzold寫的Windows程式設計
中譯本由余孟學編譯,Microsoft Press出版 |
之前有想說要先學Win32 API和DirectX的
可是有網友說不用Win32 API和DirectX去找個遊戲引擎就行了
所以Win32 API和DirectX沒學就直接跳遊戲引擎了 |
Windows程式設計跟DirectX是不能相提並論的
DirectX可以先不學
但Windows程式設計必定要先接觸
剛學完C/C++的新手都不會有視窗方面的概念
就此一步踏入遊戲引擎的話
會一次面對「視窗原理」及「引擎操作」兩方面的難題
難度會因此提升許多
所以要循序漸進就必須先從了解視窗開始
這並不是說要學到多熟
而是要了解其概念、原理及架構
其中還有很多對做小遊戲來說不太重要的章節
像是印表機的處理、剪貼簿的處理
或者依個人所需,也可先略過子視窗、功能表、或多重文件等章節
可是如果連其他基本的部份也不先行了解就直接去研究遊戲引擎
只不過是把學習Windows程式設計的時間轉嫁到引擎的學習時間上
而且還會多出很多不該問的問題…
ps.要注意的是,學習Windows程式設計並不是要你去學它裡面的各種APIs如何使用,而是要你去了解它的觀念跟流程。
HPkon 寫到: | 請問一下...
引言回覆: | 推薦的書籍是Charles Petzold寫的Windows程式設計
中譯本由余孟學編譯,Microsoft Press出版 |
這本書的中文名稱是什麼???
中譯本是台灣哪家出版社出版的??? |
中文名稱就叫做Windows程式設計…
中譯本就是由Microsoft Press出版… |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-19, PM 1:07 星期六 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:50 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
zwshen 對這略感興趣的新人
註冊時間: 2008-03-11 文章: 22 來自: Taiwan 0.00 果凍幣
|
發表於: 2008-4-19, PM 2:01 星期六 文章主題: |
|
|
HPkon 寫到: |
可以請大人幫在下規畫一下學習步驟嗎???
第一步是先學C++沒錯吧!!!
那接下來的是要學什麼好呢??? |
最重要的是「從做中學」,程式設計能力除了多看書,就是要多動手寫,
才會有深刻的感覺。你可以先從文字模型的遊戲做起,像是「踩地雷」,
只要用到 1~9、O、X 之類的字元,就能用cout 就能輸出踩地雷的畫面
,用 cin 就能取得使用者想要踩的 (x, y)位置等等。就可以避開用2D或
3D的問題。
踩地雷有個重要的技術,那就是用「遞迴」去展開盤面。而「遞迴」跟
「指標」是一個人會不會寫程式的主要判斷依據.XD
就程式設計的初學者來看,就是基本上 C++ 語法要非常的熟,之後就是擅用
各種資料結構跟演算法,這樣就能做做幾百行程式碼左右的小作品。
而物件導向的技術,就大都是觀念上的問題,等到前述的基本功夠時,也做過
很多小作品時,再來學OO 跟 Design Pattern ,就會省事的多,不過這是後
話了。 |
|
回頂端 |
|
|
Okerofujin 略有貢獻的成員
註冊時間: 2007-10-19 文章: 71
-40.53 果凍幣
|
發表於: 2008-4-19, PM 2:14 星期六 文章主題: |
|
|
問題
Okerofujin 在 2018-7-5, PM 11:51 星期四 作了第 1 次修改 |
|
回頂端 |
|
|
zwshen 對這略感興趣的新人
註冊時間: 2008-03-11 文章: 22 來自: Taiwan 0.00 果凍幣
|
|
回頂端 |
|
|
zwshen 對這略感興趣的新人
註冊時間: 2008-03-11 文章: 22 來自: Taiwan 0.00 果凍幣
|
發表於: 2008-4-19, PM 2:25 星期六 文章主題: |
|
|
HPkon 寫到: |
看來在下還是C++先學好再說!!!
因為C++只是C學完後稍微碰一下而已
沒記錯的話『遞迴』好像是C++裡的東西吧!!!
如果C++學完之後接著學的是資料結構跟演算法嗎??? |
遞回是程式語言共有的技術,是一種解問題的技術,沒有限制是什麼語言才有。
學完C++語法,接著的確是學各種資料結構,坊間上有很多
講用C++實作資料結構的書,你可以去找來看,並自已試著
實作看看,像是陣列、串列、堆疊、佇列、二元樹、圖等,
邊看書邊實作,可以加強你的C++語法,也能比較深刻體會
到各個資料結構的精髓。
這個要推薦的好書是Robert Sedgewick 寫的
Algorithms in C++ Part 1~4 及
Algorithms in C++ Part 5,不過都是原文書。
是有很多類似的中文書,就再自已找本順眼的來看吧。
zwshen 在 2008-4-19, PM 2:29 星期六 作了第 1 次修改 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-4-19, PM 2:29 星期六 文章主題: |
|
|
推薦C++ Primer 4/e
4/e是代表第四版
出版社是碁峰
譯者為候捷
這是學習C++ No.1的好書
而且剛出不久,比較新
話說C++ Primer跟C++ Primer Plus是不同作者的書
要小心不要搞混了
譯者也不同
認明候捷翻譯的就對了
再話說…遞迴不是C++特有的… |
|
回頂端 |
|
|
|