Neoforce Controls 控制項類庫是以C#和XNA3.1為基礎開發的第三方使用者介面控制項,使開發人員可以方便的在XNA遊戲介面中使用Windows表單、控制項進行互動。這些控制項還支援縮放、捲軸、皮膚等功能。(本段摘自XNA遊戲世界)
點擊進入下載頁面
下面是預設皮膚的介面預覽,效果是相當不錯的(主要是美工好~~~)
目前 Neoforce Controls 支援的控制項:
- Bevel
- Button
- ComboBox
- Console
- ContextMenu
- Dialog
- GroupBox
- GroupPanel
- CheckBox
- ImageBox
- Label
- ListBox
- MainMenu
- Panel
- ProgressBar
- RadioButton
- ScrollBar
- SideBar
- SideBarPanel
- SpinBox
- StatusBar (alpha)
- TabControl
- TextBox
- ToolBar (alpha)
- TrackBar
- Window
對這個控制項類庫的介紹到此為止,如果你想瞭解更多,可以訪問他們的網站。
下面來編寫一個簡單的例子。首先安裝完成 Neoforce Controls類庫,可以在“X:\Program Files\Tom Shane\Neoforce Controls\Bin”目錄下找到三個DLL:
“TomShane.Neoforce.Controls.360.dll”和“TomShane.Neoforce.Controls.dll”是開發遊戲時要引用的庫,只不過前者是XBOX下使用,後者是PC下使用;“TomShane.Neoforce.Importers.dll”是自訂皮膚時使用的,開發遊戲時不需要引用,因為Neoforce Controls的皮膚是由TomShane.Neoforce.Controls.Manager類來管理的,不通過內容管線載入。
建立一個XNA3.1項目,首先添加引用 “TomShane.Neoforce.Controls.dll”,然後建立一個目錄“Skins”,在目錄下添加皮膚檔案(註:皮膚檔案在“X:\Program Files\Tom Shane\Neoforce Controls\Skins”下),單擊皮膚檔案設定檔案屬性,
當然也可以在產生遊戲後手動將皮膚檔案添加到目錄。
下面開始編寫代碼:
1、引用命名空間:
using TomShane.Neoforce.Controls;
2、定義變數:
GraphicsDeviceManager graphics;
Manager manager; //定義Neoforce的管理類,用於設定皮膚目錄和載入指定皮膚。
Button btn1; //定義一個按鈕控制項。
3、初始化:
初始化public Game1()
{
graphics = new GraphicsDeviceManager(this);
IsMouseVisible = true; //在遊戲中顯示滑鼠指標,值得注意的是,皮膚檔案中包含一套滑鼠指標。
IsFixedTimeStep = false;
manager = new Manager(this, graphics, "Default", true); //選擇皮膚,這裡使用預設皮膚。
manager.SkinDirectory = @"Skins\"; //設定皮膚目錄。
}
protected override void Initialize()
{
base.Initialize(); //注意:先運行基類初始化,再運行自訂代碼,不然會出錯,可以自己試一下。
btn1 = new Button(manager);
btn1.Init();
btn1.Left = 100;
btn1.Top = 100;
btn1.Width = 200;
btn1.Height = 50;
btn1.Text = "Hello World !"; //友情提示:請勿使用中文!
manager.Add(btn1); //將定義好的控制項添加到管理類中。
}
初始化後,遊戲就可以運行了。按F5運行看一下效果。
4、添加事件:
和Winform下一樣,不想多講了。 初始化的時候添加一行代碼
btn1.Click += new TomShane.Neoforce.Controls.EventHandler(btn1_Click);
結束語:
總之, Neoforce Controls非常方便,只要會使用Winform的童鞋都能很快掌握。接下來我準備研究一下皮膚檔案的製作。