Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在xaml monogame中设置固定游戏区域?_C#_Xaml_Windows Store Apps_Monogame - Fatal编程技术网

C# 如何在xaml monogame中设置固定游戏区域?

C# 如何在xaml monogame中设置固定游戏区域?,c#,xaml,windows-store-apps,monogame,C#,Xaml,Windows Store Apps,Monogame,我正在创建一个XAML单游戏,我想在SwapChainBackgroundPanel中设置固定的游戏区域。 我的意思是,想象一下:游戏屏幕ex.1920x1080,游戏区域ex.1280x800只是其中的一部分,其他空间用于存储诸如分数、级别、体验等不同的信息,还有不同的按钮,如下图所示: 可以为精灵批处理设置要绘制的多个渲染目标。我会将你的整个游戏逻辑或区域绘制为或返回所需大小的纹理2D。然后在Game1.cs或其他任何地方,您可以将该纹理相应地放置在您绘制的UI元素之外 public ove

我正在创建一个XAML单游戏,我想在SwapChainBackgroundPanel中设置固定的游戏区域。 我的意思是,想象一下:游戏屏幕ex.1920x1080,游戏区域ex.1280x800只是其中的一部分,其他空间用于存储诸如分数、级别、体验等不同的信息,还有不同的按钮,如下图所示:


可以为精灵批处理设置要绘制的多个渲染目标。我会将你的整个游戏逻辑或区域绘制为或返回所需大小的纹理2D。然后在Game1.cs或其他任何地方,您可以将该纹理相应地放置在您绘制的UI元素之外

public override Texture2D Draw(SpriteBatch spriteBatch)
    {
        spriteBatch.GraphicsDevice.SetRenderTarget(gameRenderTarget);
        spriteBatch.Begin(SpriteSortMode.FrontToBack, null);
        sky.Draw(spriteBatch);
        ground.Draw(spriteBatch);
        background.Draw(spriteBatch);
        player.Draw(spriteBatch);
        spriteBatch.End();

        return (Texture2D)finalRenderTarget;
    }
现在,整个游戏区域是一个纹理,可以像游戏中的其他东西一样进行操作!您的主游戏可以预定义游戏的布局,您只需根据需要渲染每个区域

另一个选项是一个绘制调用,您可以设置多个渲染目标,只需在下一个spriteBatch.Begin和spriteBatch.End之间传递要绘制的上一个渲染目标