3D 地形といくつかの 2D GUI オブジェクトを上に置いた非常に単純な XNA ゲームをセットアップしようとしています。現在アクティブな数少ない 2D GUI の 1 つと思われる Nuclex を選択しました。
私の問題: ゲームに Nuclex の「スクリーン」クラスを追加すると、3D 地形とその上に描画された線が台無しになります -- 3D オブジェクトの 3 つのレイヤーがあります: 地形、地形のワイヤーフレームの輪郭、およびいくつかの「ルート」です。 」 地形を包み込みます。画面が追加されると、部分的に地形に沈んでいるルートが完全に地形の上に表示され、ワイヤフレーム グリッドがより太く表示されます。
これは、Nuclex GuiManager ページのサンプルに従って作成された、私の Game.Initialize メソッドの末尾です。
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();
それで、私が間違っていることについてのアイデアはありますか?
ありがとう!