XNA如何显示游戏窗口下方的内容?

时间:2015-07-08 03:43:47

标签: c# xna

我想要做的只是在屏幕上显示Texture2D,屏幕也需要透明。我已经找到了一段可以使窗口无边框的代码。

IntPtr hWnd = this.Window.Handle;
var control = System.Windows.Forms.Control.FromHandle(hWnd);
var form = control.FindForm();
form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

当放入Initialize()方法时,这会成功使窗口无边框。

然而,当我在GraphicsDevice.Clear(Color.Transparent);中使用Draw时,所有结果都是在屏幕中间出现黑色方块。

有没有办法改变背景的不透明度?还有什么我可以尝试解决这个问题吗?

我听到的一些事情是截取背景截图并通过backbuffer在屏幕上显示,但我无法找到任何成功实现的解决方案。

编辑:这是绘制方法,而非常简单

protected override void Draw(GameTime gameTime)
{
        GraphicsDevice.Clear(Color.Transparent);
        spriteBatch.Begin();
        {

            spriteBatch.Draw(tex, parameters, Color.White );

        }
        spriteBatch.End();
        base.Draw(gameTime);
}

我还发现我可以通过form.opacity = 0;更改窗体的不透明度,但这样也可以使纹理透明。

0 个答案:

没有答案