Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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#-XNA-在两个GameComponent之后绘制GameComponent的一部分_C#_Xna - Fatal编程技术网

C#-XNA-在两个GameComponent之后绘制GameComponent的一部分

C#-XNA-在两个GameComponent之后绘制GameComponent的一部分,c#,xna,C#,Xna,我在XNA中的宽度绘制层深度有问题。我有两个游戏组件:屏幕管理器和球。ScreenManager有屏幕:背景屏幕、游戏屏幕和暂停屏幕 我需要在暂停前画球,在球前画背景画面,目前 在Ball GameComponent中,我在绘制球的精灵之后尝试调用base.Draw(),在ScreenManager中,我在绘制屏幕之前尝试调用base.Draw(),但两者都不起作用 我该怎么做? 感谢您的帮助。在当前设置中,您无法实现这一点,因为游戏组件只能更改它们之间的“绘制顺序” 下面是一张图片,显示了这一

我在XNA中的宽度绘制层深度有问题。我有两个游戏组件:屏幕管理器和球。ScreenManager有屏幕:背景屏幕、游戏屏幕和暂停屏幕

我需要在暂停前画球,在球前画背景画面,目前

在Ball GameComponent中,我在绘制球的精灵之后尝试调用base.Draw(),在ScreenManager中,我在绘制屏幕之前尝试调用base.Draw(),但两者都不起作用

我该怎么做?
感谢您的帮助。

在当前设置中,您无法实现这一点,因为游戏组件只能更改它们之间的“绘制顺序”

下面是一张图片,显示了这一点:

正如您所见,Ball和ScreenManager位于同一平面/层中,因此重新排列并不能解决您的问题


要解决您的问题,您也可以制作屏幕游戏组件,或者在单独的屏幕中移动球的逻辑。

创建多个游戏组件?我不明白。我有两个组件:屏幕管理器和球。对不起,我应该说:创建两个以上的游戏组件。或者:创建多个可以显示屏幕的游戏组件。另一种选择是手动更改绘图顺序。感谢您的建议,但我相信“排序”比创建更多组件更好。。。我认为这不是最好的订货方式。您如何看待“手动更改取款顺序”?