虽然我的视频游戏的整个过程非常好,但我却遇到了问题。它可能很简单,但我现在无法解决它。
我正在使用SharpDX和Direct2D1来创建我的用户界面。到目前为止,我创建了几个控件,一些控件由其他控件组成,一些控件有子控件。例如,我的用户界面中的窗口始终具有关闭按钮,边框控件和内容控件。列表框控件可以将多个控件作为列表项等等。
这在大多数情况下效果很好。但是,当涉及透明度时,我遇到了一些麻烦。
示例1
我的窗户周围有一个半透明的边框,我想在这个边框的顶部显示一个文字。很容易看出,透明边框颜色会影响文字的颜色。
示例2
我有一个黑色背景的矩形背景。渲染这个矩形后,我绘制一个主要包含任何内容的位图(=大透明区域)。当我运行游戏时,我看到黑色背景上的非透明区域,这是完美的。但是,如果我在第一个之后绘制另一个位图,则会在背景后面绘制(纯黑色矩形),因此不可见。
如何控制z顺序?欢迎任何事情!