討論區快速選單
知識庫快速選單
軟體開發過程中有哪些資安漏洞? 傑米的攝影旅遊筆記
[ 回上頁 ] [ 討論區發言規則 ]
遊戲設計魔法寶典的範例...
更改我的閱讀文章字型大小
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/17 下午 01:31:15
請問各位前輩
不知道有沒有人知道
Visual C++遊戲設計魔法寶典這本書
小弟想學遊戲設計
這本書前半段的範例都還可以編譯
但是到後半段都沒辦法編譯(大概從DirectX的教學開始)
請問是因為版本問題嗎?
小弟是用VisualStudio2005 DirectX9.0b
作者 : kamino(螞蟻)
[ 貼文 141 | 人氣 7475 | 評價 230 | 評價/貼文 1.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/19 上午 01:02:51
你是不是沒把要用的DirectX的lib檔設定好?
問這種問題時要把編譯器給的錯誤訊息po出來
這樣大家才好了解你的情況
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/19 上午 10:01:00
>你是不是沒把要用的DirectX的lib檔設定好?
我是按照書上寫的做 ,在
Tool->Options->Project and Solutions->VC++ Directories->右上角IncludeFile那
加入D:\DX90SDK\Include和D:\DX90SDK\Lib

>問這種問題時要把編譯器給的錯誤訊息po出來
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

canvasApp::InitInstance()
{//<---------------這一行有error
m_pMainWnd = new canvasFrame;
m_pMainWnd->ShowWindow( m_nCmdShow );
m_pMainWnd->UpdateWindow();
return true;
}
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/20 下午 10:10:08
我附上完整專案好了
http://www.badongo.com/file/3492546
希望各位前輩能幫幫忙

又順便想請問他這專案好像是MFC的專案
但是我開MFC application好像跟他的不大一樣
小弟使用VisualStudio2005
作者 : kamino(螞蟻)
[ 貼文 141 | 人氣 7475 | 評價 230 | 評價/貼文 1.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/22 下午 02:39:10
你的範例在我這裡執行得好好的
我覺得應該是你開錯方案檔的關係
雖然我不知道原書範例為什麼要附canvas.dsw和canvasApp.dsw
不過很明顯地canvas.dsw才是正確的方案檔
你應該要先把Debug資料夾給刪了
然後雙擊canvas.dsw讓VC++2005自動把它轉換成sln檔
這樣應該就可以compile成功了
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/22 下午 05:54:58
感謝你的回應
可是我還是不能編譯唉@@"
請問你也用VisualStudio2005編譯的嗎?
作者 : kamino(螞蟻)
[ 貼文 141 | 人氣 7475 | 評價 230 | 評價/貼文 1.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/22 下午 07:35:12
不是,我用VC++ 2003編譯的
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/22 下午 07:37:36

因為範本本來是VC++的
我在想是不是因為我用VS
所以才會有些其他問題
作者 : dorkas(aming) VC++優秀好手遊戲程式設計卓越專家DirectX頂尖高手C++優秀好手貼文超過2000則
[ 貼文 2624 | 人氣 4536 | 評價 11810 | 評價/貼文 4.5 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/22 下午 10:09:40
因為書中範例是dx9.0b..但是書是附2004 9.0c版的sdk

當然編譯不起來....有很多 D3DX API接口 參數都不一樣
要手動修改

偏偏新手看不懂該怎麼改....XD
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/22 下午 10:12:06
>有很多 D3DX API接口 參數都不一樣
>要手動修改
可是他只有那一行錯誤
可以請教要怎麼改正嗎?
作者 : kamino(螞蟻)
[ 貼文 141 | 人氣 7475 | 評價 230 | 評價/貼文 1.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/23 下午 01:24:49
>恩
>因為範本本來是VC++的
>我在想是不是因為我用VS
>所以才會有些其他問題

跟這個沒關係,VS是微軟出的一系列IDE的總合名稱,VC++就包含在裡面,你既然可以build就代表你有安裝到VC++沒有錯,頂多是2005有改了一些規格。

>因為書中範例是dx9.0b..但是書是附2004 9.0c版的sdk
>
>當然編譯不起來....有很多 D3DX API接口 參數都不一樣
>要手動修改
>
>偏偏新手看不懂該怎麼改....XD

aming大,我這邊也是9.0c的sdk版本吶,2006 12月的
不過編譯起來沒有問題
我想應該不是這個的關係
我在猜可能是他安裝VC++ Express 2005,有功能限制
又或者2005的MFC有改變了些什麼?
再不然就是2005自動轉換6.0的dsw檔會有錯誤
不然應該不會有編譯不出來的情況才對
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/23 下午 01:27:37
>我在猜可能是他安裝VC++ Express 2005,有功能限制
>又或者2005的MFC有改變了些什麼?
我裝的不是Express版@@"
之前我把DirectX9.0b刪掉改成9.0c的
還是有一樣的問題
作者 : kamino(螞蟻)
[ 貼文 141 | 人氣 7475 | 評價 230 | 評價/貼文 1.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人wilsonwing註記此篇回應為最佳解答 2007/6/23 下午 01:35:43
呃...抱歉,因為我可以編譯,所以有個先入為主的觀念,一直不覺得是程式碼有問題
但剛才仔細查那個錯誤碼C4430,發現好像真的是程式碼有要改的地方,請參考:http://msdn2.microsoft.com/en-us/library/ms173696(VS.80).aspx

這似乎是VC++ 2005才新增的規則
你試著在canvasApp::InitInstance()前面加上個BOOL看看好了:
BOOL canvasApp::InitInstance()
不行的話再說
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/23 下午 01:42:06
真是非常感謝您
小弟剛剛編譯後發現
剛開始載入資料很花時間
比一般遊戲還要久
請問是差在
一般遊戲都是要玩的時候才在入資料
而他是一開始就把全部資料載入
是嗎?
作者 : kamino(螞蟻)
[ 貼文 141 | 人氣 7475 | 評價 230 | 評價/貼文 1.63 | 送出評價 18 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/23 下午 01:51:09
唔...說老實話,我不知道
這個範例我沒研究過,而且我也沒有寫大型遊戲的經驗
雖說大型遊戲的確是等需要時才會載入一部份資料
而這個也的確是一開始就把資料全載入
但是大型遊戲一個場景的資料量恐怕就比這個小遊戲的全部資料量還多
所以恐怕這不是主要的原因
我覺得會慢應該跟它程式的寫法以及這是用MFC寫的有關
但怎麼改進就不是我能指導你的了...這要請aming大出馬才行

話說,我最近新架了個遊戲設計的論壇,大家有空時來逛逛吧...
電腦遊戲製作開發設計論壇:http://www.gamelife.idv.tw/
缺人氣、缺高手、缺文章吶...Q_Q
作者 : wilsonwing(微風星辰)
[ 貼文 41 | 人氣 8432 | 評價 10 | 評價/貼文 0.24 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2007/6/23 下午 01:53:13
恩..
我是剛研究遊戲就發生一堆問題
呵呵
我會去大大您的論壇看看的
再次感謝您的幫助
以後還請多多指教
 板主 : 小呆 , 冷眼
 > 遊戲程式設計 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 遊戲程式設計 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
遊戲程式設計
1 aming 2280 
2 冷眼 1450 
3 阿西德倫 510 
4 PLAYER 390 
5 garf 340 
6 Akira 330 
7 白老鼠(Gary) 290 
8 BlueTulip 270 
9 東昇 250 
10 CCL 240 
遊戲程式設計
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.09375