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

时间:2012-10-02 21:15:45

标签: c# xna

我在XNA中有宽度绘制的图层深度问题。我有两个GameComponents:ScreenManager和Ball。 ScreenManager有屏幕:BackgroundScreen,GamePlayScreen和PauseScreen ......

我需要在PauseScreen之前绘制球并在球之前绘制BackgroundScreen,目前......

在Ball GameComponent中,我尝试在绘制球的精灵后调用base.Draw(),在ScreenManager中我尝试在绘制屏幕之前调用base.Draw(),但两者都没有功能。

我该怎么办? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

您无法在当前设置中实现此目的,因为GameComponents只能相互更改“Draw-Order”。

这是一张可视化的图片:

enter image description here

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

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