我正在尝试设置一个非常简单的 XNA 游戏,上面有 3d 地形和一些 2d GUI 对象。我选择了 Nuclex,因为它似乎是少数几个目前处于活动状态的 2d GUI 之一。
我的问题:在我的游戏中添加一个 Nuclex“屏幕”类会导致 3d 地形和在其上绘制的线条搞砸了——我有三层 3d 对象:地形、地形的线框轮廓和一些“路线” “拥抱地形。添加屏幕后,部分淹没在地形中的路线会完全显示在地形之上,并且线框网格会显得更粗。
这是我的 Game.Initialize 方法的结尾,按照 Nuclex GuiManager 页面上的示例进行操作:
InputManager im = new InputManager();
IGraphicsDeviceService igds = Nuclex.Graphics.GraphicsDeviceServiceHelper.MakeDummyGraphicsDeviceService(GraphicsDevice);
gui = new GuiManager(igds, im);
gui.Initialize();
Viewport vp = GraphicsDevice.Viewport;
Screen main_screen = new Screen(vp.Width, vp.Height);
//main_screen.
this.gui.Screen = main_screen;
main_screen.Desktop.Bounds = new UniRectangle(
new UniScalar(0.1f, 0.0f), new UniScalar(0.1f, 0.0f), // x and y
new UniScalar(0.8f, 0.0f), new UniScalar(0.8f, 0.0f) // width and height
);
LabelControl text = new LabelControl("hello");
text.Bounds = new UniRectangle(10, 10, 200, 30);
main_screen.Desktop.Children.Add(text);
Components.Add(gui);
base.Initialize();
那么,关于我做错了什么的任何想法?
谢谢!