上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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這個控制元件底下
描述: |
|
附件大小: |
80.85 KB |
觀看次數: |
共 7171 次 |
|
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);
|
執行結果如圖
描述: |
|
附件大小: |
70.86 KB |
觀看次數: |
共 7154 次 |
|
|
|
回頂端 |
|
|
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動畫相提並論
雖然只是家小公司兼新公司
不過做出來的品質可以跟超人特攻隊、玩具總動員、怪獸電力公司算同一級了..
我們應該多去學習很多東西
|
|
回頂端 |
|
|
|