【发布时间】:2012-10-23 17:06:30
【问题描述】:
所以我正在做一个项目,我有一个基于 3d 立方体的世界。我让所有这些工作,我正在启动用户界面,当我开始使用 spritebatch 绘制我拥有的光标纹理的那一刻,我发现 XNA 没有正确分层所有模型,一些模型距离较远的将首先绘制,而不是在模型后面。当我取出所有的 spritebatch 代码时,就是这样:
spriteBatch.Begin();
cursor.draw(spriteBatch);
spriteBatch.End();
我发现问题立即得到解决。光标是一个对象,draw方法只是使用spriteBatch.draw();
在我看来,有两种解决方案,我可以找到一种方法来绘制我的光标和其他界面而不使用 SpriteBatch,或者spriteBatch.Begin() 中有一个参数我可以插入以解决问题?我不知道该怎么做,还有其他人遇到这个问题并知道如何解决吗?
提前致谢。
【问题讨论】:
-
我不肯定,但你不能只启用普通鼠标光标,然后如果你想改变它的外观,我认为有 Windows api 调用可以做到这一点。但我不确定。
-
我只是使用鼠标启动,稍后我将添加一些HUD用于游戏。因此,如果我找到了一种在保持模型正确绘制的同时绘制鼠标的方法,那么我可以继续使用界面。