電腦遊戲製作開發設計論壇 首頁 電腦遊戲製作開發設計論壇
任何可以在PC上跑的遊戲都可以討論,主要以遊戲之製作開發為主軸,希望讓台灣的遊戲人有個討論、交流、教學、經驗傳承的園地
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入 

Google
CLR處理HWND

 
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念
上一篇主題 :: 下一篇主題  
發表人 內容
mirror
散播福音的祭司


註冊時間: 2007-07-27
文章: 174

828.60 果凍幣

發表發表於: 2009-1-22, AM 10:00 星期四    文章主題: CLR處理HWND 引言回覆

因為用VC開發工具
製作3D遊戲的開發工具
可以選擇MFC(上手較難,較慢)或者最近出的CLR(上手較為簡單快速)
要用CLR與DirectX建立連結
步驟...

1.
這行程式碼用來取得當前某個控制項的HWND
這裡取得的是在Form框架底下的Picture圖片控制項
代碼:

HWND hwnd = (HWND)Picture->Handle.ToInt32();

2.取得HWND以後,可以直接讓DirectX取得並使用
HWND 是定義在 "windef.h"
別忘了引用#pragma comment(lib, "user32.lib")
否則會產生錯誤

3.
stdafx.h檔內的內容如下
代碼:

#include "d3d9.h"
#include "d3dx9.h"

#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9.lib")

#pragma comment(lib, "user32.lib")


補上一張執行中的畫面..
我是讓Direct繪製在PictureBox這個控制元件底下



-1.jpg
 描述:
 附件大小:  80.85 KB
 觀看次數:  共 4446 次

-1.jpg




mirror 在 2009-1-23, AM 3:33 星期五 作了第 2 次修改
回頂端
檢視會員個人資料 發送私人訊息
happylin
略有貢獻的成員


註冊時間: 2007-07-26
文章: 70

127.34 果凍幣

發表發表於: 2009-1-22, PM 5:24 星期四    文章主題: 引言回覆

mirror 寫到:
因為用VC開發工具
可以選擇MFC(上手較難,較慢)或者最近出的CLR(上手較為簡單快速)
要用CLR與DirectX建立連結


CLR 要.NET .....
個人不愛.NET
回頂端
檢視會員個人資料 發送私人訊息
mirror
散播福音的祭司


註冊時間: 2007-07-27
文章: 174

828.60 果凍幣

發表發表於: 2009-1-22, PM 6:18 星期四    文章主題: 引言回覆

happylin 寫到:
mirror 寫到:
因為用VC開發工具
可以選擇MFC(上手較難,較慢)或者最近出的CLR(上手較為簡單快速)
要用CLR與DirectX建立連結


CLR 要.NET .....
個人不愛.NET


哈~~這應該是多數人的心聲吧
不過有的時候,為了便利性
犧牲一點是值得的...
回頂端
檢視會員個人資料 發送私人訊息
happylin
略有貢獻的成員


註冊時間: 2007-07-26
文章: 70

127.34 果凍幣

發表發表於: 2009-1-23, AM 9:17 星期五    文章主題: 引言回覆

mirror 寫到:

哈~~這應該是多數人的心聲吧
不過有的時候,為了便利性
犧牲一點是值得的...


我家的電腦不是i7. 更不是 10G hz
那種非原生程式.... 犧生太多.
回頂端
檢視會員個人資料 發送私人訊息
mirror
散播福音的祭司


註冊時間: 2007-07-27
文章: 174

828.60 果凍幣

發表發表於: 2009-1-24, AM 1:12 星期六    文章主題: 引言回覆

補上一點心得【XML篇】

XML的內容如下
代碼:

<?xml version="1.0" standalone="yes"?>
<角色清單>
  <角色>
    <名字>蒙奇.D.魯夫</名字>
    <等級>27</等級>
  </角色>
  <角色>
    <名字>索隆</名字>
    <等級>21</等級>
  </角色>
  <角色>
    <名字>香吉士</名字>
    <等級>21</等級>
  </角色>
</角色清單>


用來取得欄位資料,並輸出結果
代碼:

AuthorsDataSet->Clear();
String^ filePath = "XML檔案.xml";
AuthorsDataSet->ReadXml (filePath);
dataGridView1->DataSource = AuthorsDataSet;
dataGridView1->DataMember = "角色";


代碼:

Data::DataColumn^ dc = gcnew Data::DataColumn(); //使用系統自訂的欄位名稱
AuthorsDataSet->Tables["tabs"]->Columns->Add(dc);


把處理好的資料寫回XML
代碼:

String^ filePath = "XML檔案.xml";
AuthorsDataSet->WriteXml(filePath);


執行結果如圖



-1.jpg
 描述:
 附件大小:  70.86 KB
 觀看次數:  共 4429 次

-1.jpg


回頂端
檢視會員個人資料 發送私人訊息
mirror
散播福音的祭司


註冊時間: 2007-07-27
文章: 174

828.60 果凍幣

發表發表於: 2009-1-24, PM 7:15 星期六    文章主題: 引言回覆

你們說的都沒錯
MFC跟CLR想要用什麼就用什麼
老闆應該也不會限制你拿什麼來寫
功力比較好的人可以挑戰MFC增加程式功力
只想利用功能開發遊戲的人可以用CLR
回頂端
檢視會員個人資料 發送私人訊息
babu61509
散播福音的祭司


註冊時間: 2007-08-26
文章: 142

681.01 果凍幣

發表發表於: 2009-1-26, PM 12:36 星期一    文章主題: 引言回覆

mirror 寫到:
你們說的都沒錯
MFC跟CLR想要用什麼就用什麼
老闆應該也不會限制你拿什麼來寫
功力比較好的人可以挑戰MFC增加程式功力
只想利用功能開發遊戲的人可以用CLR


我是覺得,開發遊戲用的編輯器之類的,用CLR會很方便 (像魔獸地圖編輯器那種,用MFC寫起來會很累吧...)

遊戲主體的話...就可以考慮用MFC (因為基礎部份不複雜,複製貼上改一點點就可以了)
CLR也是可以,不過會多吃20MB左右記憶體.
效能的話應該不會差很多吧 ? 因為用的都是native DirectX...

--------------------------------------------------
happylin 寫到:

我家的電腦不是i7. 更不是 10G hz
那種非原生程式.... 犧生太多.


這是C++,編譯出來的還是機械碼
只是透過呼叫.NET API來建立以及使用視窗,除非.NET API是用非原生程式碼寫的,不然效能應該不會差太多。

當然,如果你對於微軟的黑箱作業不滿意的話。
可以把.NET 移掉,改裝MONO。
MONO官網 : http://www.mono-project.com/Main_Page
(只是MONO的API要怎麼用,我不清楚就是了XD)

_________________
已經畢業了!!
回頂端
檢視會員個人資料 發送私人訊息
mirror
散播福音的祭司


註冊時間: 2007-07-27
文章: 174

828.60 果凍幣

發表發表於: 2009-2-2, AM 4:03 星期一    文章主題: 引言回覆

CLR使用的感覺很實用
而且效能也不差..
跟C也可以混合使用
雖然某部分功能被限制住
感覺上會有點綁手綁腳
不過應該不會有太大的問題
它只是個界面,真正實作的也不是它

我想最大的問題應該是出在使用者身上
開發者,基本上不會有多大的影響
一堆相關界面工具要安裝等等...
像JAVA就很讚..對使用者來說也很方便
雖然也是限制很多東西

大家也無須拘束在舊的東西身上
之前我去參加一個台灣的動畫公司
舉辦的新人招募說明會
他們放的影片說明了
他們是如何學習使用別人的工具、別人的技術
最後如何將技術跟工具轉換成我們的技術跟工具
而且該公司還會常常花錢請國外的技術員
來指導該公司的成員去學習新的技術跟知識
光是這一點,很多公司就比不上了吧
我覺得他們的論點很好
而這家動畫公司的功力足以跟國外的3D動畫相提並論
雖然只是家小公司兼新公司
不過做出來的品質可以跟超人特攻隊、玩具總動員、怪獸電力公司算同一級了..
我們應該多去學習很多東西
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    電腦遊戲製作開發設計論壇 首頁 -> 遊戲程式初級班:語法及基礎概念 所有的時間均為 台灣時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
可以 在這個版面附加檔案
可以 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作