zoukankan      html  css  js  c++  java
  • 【Neoforce Controls】XNA控件类库Neoforce Controls简单入门

    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的童鞋都能很快掌握。接下来我准备研究一下皮肤文件的制作。

  • 相关阅读:
    树的遍历
    字符串转化到实数
    redis笔记_源码_跳表skiplist
    《parsing techniques》中文翻译和正则引擎解析技术入门
    sublime3 Package Control和 中文安装
    python基础——字典dict
    python基础1
    pandas入门总结1
    numpy入门总结2
    numpy入门总结1
  • 原文地址:https://www.cnblogs.com/huobilie/p/1797134.html
Copyright © 2011-2022 走看看