程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> Visual C#編寫3D游戲框架示例

Visual C#編寫3D游戲框架示例

編輯:C#基礎知識

  你可能對實際地編寫游戲代碼期待已久了。由於DirectX SDK 2004年夏季更新包含了一個牢固的示例框架組件,並且它被設計成能在你自己的代碼中直接使用,同時還為你處理了很多事務,所以你只要簡單的使用它,就可以節省大量的時間和精力。

  本文中的例子使用的就是這個示例框架組件,在本文中,你將學習到的內容有:

  · 如何建立自己的項目

  · 如何使用示例框架組件來列舉設備

  建立項目

  在本文中,我假定你的所有開發工作都將使用Visual Studio .NET 2003來完成。如果你不希望使用這個環境,可以使用命令行編譯代碼,它允許你使用任意的文本編輯器或集成開發環境(IDE)。

  啟動Visual Studio .NET 2003並點擊起始頁面中的"新建項目"按鈕。如果你沒有使用起始頁面,可以點擊"文件"菜單下的"新建"子菜單中的"項目"菜單項,或者使用Ctrl+Shift+N。選擇"Visual C#項目"區域中的"Windows項目"數據項。把這個項目命名為Blockers,這是游戲的名稱。

  在你查看自動生成的代碼之前,首先把示例框架組件添加到你的項目中。一般情況下,我會在"解決方案浏覽器"中建立一個新文件夾,並把這些文件放入一個這個獨立的文件夾中(把這個文件夾的名字取為Framework)。右鍵點擊這個新建的文件夾,從"添加"菜單中選擇"添加已有的項"。導航到DirectX SDK文件夾,你會發現該示例框架文件位於Samples\Managed\Common文件夾中,選擇每個文件並添加到你的項目中。

  在示例框架組件被添加到項目中以後,你就可以去掉自動生成的代碼了。這些代碼中的大部分都是用於建立別致的Windows窗體應用程序的,因此,它與我們編寫游戲的代碼是無關的。用列表1中的代碼替換已有的代碼和類(Form1)。

  列表1:空的框架組件

  

using System;
using System.Configuration;
using Microsoft.DirectX;
using Microsoft.DirectX.Direct3D;
using Microsoft.Samples.DirectX.UtilityToolkit;
public class GameEngine : IDeviceCreation
{
 ///程序入口。初始化所有部分並進入一個消息處理循環。用空閒時間顯示場景
 static int Main()
 {
  using(Framework sampleFramework = new Framework())
  {
   return sampleFramework.ExitCode;
  }
 }
}

  這段新代碼中有三個地方比較突出。首先,你可能注意到了除了靜態的main方法之外,刪除了所有東西,而且main方法也被修改過。剩余的代碼是Windows窗體設計器的支撐代碼。由於這個應用程序不需要使用該設計器,因此這些代碼就沒有用了,可以被刪除。其次,這段代碼不能編譯,因為游戲引擎希望實現的兩個接口還未實現。再次,這段代碼實際上沒有做任何事務。

  在你開始解決後面兩個問題之前,你必須添加一些引用。由於你准備在這個項目中顯示奇特的3D圖像,你就必須給項目添加能執行這樣的顯示操作的組件的引用。本文采用受控DirectX來執行這種操作,因此你需要在"項目"菜單中選擇"添加引用"。圖1顯示了彈出的對話框。

  圖1:添加引用對話框

  如果你安裝了DirectX 9 SDK 2004年夏季更新,你會發現有多個版本的受控DirectX組件可供使用。請選擇最新的版本(1.0.2902.0版本)。對於這個項目來說,你需要添加三個不同的組件引用:

  · Microsoft.DirectX

  · Microsoft.DirectX.Direct3D

  · Microsoft.DirectX.Direct3DX

  DirectX根(root)組件包含了輔助顯示計算的數學結構。其它兩個組件相應地包含了Direct3D和D3DX的功能。添加這些引用之後,你可以簡單地查看一下列表1中添加的using語句,以確保名字空間被正確地引用了。這個步驟可以確保你不需要完整地限定類型。例如,如果不添加using語句,那麼聲明一個Direct3D設備變量,就必須使用下面的語句:

  

Microsoft.DirectX.Direct3D.Device device = null;

  Using語句可以減少很多輸入內容(沒有人希望在聲明一個變量時輸入全部的內容)。由於你已經增加了using語句,就可以使用如下所示的聲明語句了:

  • 首頁
  • 上一頁
  • 1
  • 2
  • 3
  • 下一頁
  • 尾頁
  • 共3頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved