libGDX - 如何在屏幕上删除现有的spritebatch?

时间:2014-07-24 02:26:10

标签: java android libgdx

所以我一直在浏览和试验一些东西,但是不能在屏幕上找到如何删除已有的spriteBatch。

基本上是这样的 我已经发起了

batcher.begin();
(blah blah blah)
AssetLoader.font.draw(batcher, "Hey guys", x, y);
像这样的东西...... 现在我希望在屏幕上删除/删除/取消这个东西...... 如何在不使用if语句的情况下这样做,因为..如果我开始使用If语句,一切都会变得太乱。

非常感谢!

2 个答案:

答案 0 :(得分:4)

在OpenGL应用程序中普遍接受的做法是每次清除屏幕并重新绘制整个屏幕。

所以,去"擦除"什么,你只是停止画它。

boolean wantToSeeThis = true;

...

void render() {
   batcher.begin();
   (blah blah blah)
   if (wantToSeeThis) {
       AssetLoader.font.draw(batcher, "Hey guys", x, y);
   }
}

void hideIt() {
   wantToSeeThis = false;
}

答案 1 :(得分:3)

有点不清楚你在问什么。默认情况下,使用Render方法中的此行,每帧都会清除屏幕。

gl.glClear( GL20.GL_COLOR_BUFFER_BIT );

然后显然我们需要陈述什么时候我们想画东西。如果你将整个程序编写在一个单独的类中,这显然会很快变得混乱。但Java是OOP,这意味着您可以添加具有自己的Draw / Render方法的类,并且有关于何时应该绘制它们的语句。我建议你开始学习OOP的基础知识。