看板 C_and_CPP 關於我們 聯絡資訊
把以前寫 game 的心得放一點上來,原文只摘錄重要的四行作引述。 ※ 引述《winston1215 (Winston)》之銘言: 學了半個學期的c++,大概學完了迴圈、陣列、pointer.....等基本技巧 如果這學期只學到這裡的話,這堂課只教了「包著 C++ 的 C」, 大概只講了三分之一,並沒講到 C++ 後半段 - 類別與物件導向 (另一個三分之一) 、 STL 與 Container (另一個三分之一) 。 如果真的只教這樣的話,其實和用 C 語言寫遊戲沒兩樣。 我想要在遊戲中放入影音檔該去哪查詢? 方法一 : 建立 .avi , 調用 AVIFILE 系列 api, http://0rz.tw/hnTbO 方法二 : 調用 DirectX / OpenGL 函式庫 (太難,建議不要走這條) 方法三 : 建立 .avi , 調用 MCI 系列 api,http://0rz.tw/a4E1j 建議走方法三 想要把舊的畫面消失掉該如何做(據說是include<windows.h>) 想做遊戲片頭的動畫該如何處理? 同上 --- 先提醒一件事,在網路上不難找到早期的程式碼,裡面含有 graphics.h、dos.h, 建議不要再參考它們,這份程式碼所使用的年代已久,除非,你老師用的 compiler 是 Trubo C(++) 2.0 / 3.1, 那就直接拿它們當參考無所謂。 但有個例外,若是 VC compiler,有個偷機的方式, 有一票人提供了在 windows 作業系統上,實作 turbo C 之 graphic.h 這種東西也已被統稱為 「控制台增強庫」,妙的是這種看似已落後的技術, 卻不只一人在維護、開發、應用 ,而有在開發的作者也不只一位。 ( 記得第一開開發的原因是學生剛學完 C 就學圖形學,沒時間學 Win32 ) 更妙的是,還有專門的論壇在討論這部份之技巧與訊息 easyx - http://www.easyx.cn/ easy 吧 - http://tieba.baidu.com/f?kw=easyx 對於這份 final project 我想直接抓這套下來用是最簡便的。 同時 easyx 裡面也提供一些遊戲範例原始碼出來。 出來效果怎樣?直接看其中投入這行列作者之成品圖最明瞭 http://0rz.tw/T69Dl ( 我沒叫你直接 copy 他的東西下來改,至少禮貌性留個言給他得其允許 ) --- 若不想用現有的控制台增強庫, 很遺憾一件事 ,在這學期結束之前, final project 照你的要求大概完成不了, 我想大概還要再多學 Win32 程式設計,C++ 實力夠的話可以直接跳 MFC / BCB, 或你有較輕型、方便、可攜的選擇 - Win32++ (library)。 Win32、Win32++ 本身據有 C 或 C++ 底子就可進入, 主要熟悉視窗程式設計之流程與背景知識。 而 MFC / BCB , 除了在學視窗程式設計流程、背景與知識外, C++ 在類別與物件導向那裡至少要熟 (STL 與 Container 我覺得較少用來寫 GUI 之技巧),進入才可應用自如。 --- 所以我建議直接從 console 系列 api 直接著手,但 console 系列之 function 真的是多到讓人傻眼,會讓人不知怎麼挑,看一下 msdn 裡面提供的 function 有哪些 http://0rz.tw/mFiGU 幸運的是,easyx 產生解決了這部份問題,去觀查它每個 function 之 source code, 學久了也知道 Console Functions 怎麼用。 再補一點,game 做得好的話,大多會扯到 multi-thread (keyword : _beginthreadex,_endthreadex ) 幸運的是,Microsoft 竟巧妙的為初學者開了一扇後門,避開了 multi-thread 之使用, 它為 console functions 開了三份 call-back function, 範例碼 http://ppt.cc/;FT! ---- 最後,若 final project 並沒要求要為遊戲設計成物件方式, 直接拿找得到的 C 語言範例作修改即可; 如果有要求設計成物件方式進行的話 (看原 po 沒提到這), 是該再找其他 C++ 物件設計成遊戲之範例, 或,去砍本 Design Pattern 回來看吧 (只怕時間沒那麼多)!! 一點意見,供參考。 -- No matter how gifted you are, alone, can not change the world. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.78.41
pichubaby:強者 12/11 04:39
Yshuan:推 竟然有這種東西 12/11 09:20
siriusu:push 12/11 11:49
LoveBeef:有沒有在非微軟下的方法? 12/11 12:26
diabloevagto:樓上如果是指gui的話,非ms的也有很多啊 12/11 12:29
cory8249:專業~ 推 最近剛好也要寫這類的東西 @@"~ 12/11 12:59
letoh:http://winbgim.codecutter.org/ WinBGIm 12/11 13:44
sand1050:推 12/11 15:19
VictorTom:推:) 12/12 00:01
xatier:T大必推! 12/13 02:23