所以我一直在浏览和试验一些东西,但是不能在屏幕上找到如何删除已有的spriteBatch。
基本上是这样的 我已经发起了batcher.begin();
(blah blah blah)
AssetLoader.font.draw(batcher, "Hey guys", x, y);
像这样的东西......
现在我希望在屏幕上删除/删除/取消这个东西......
如何在不使用if语句的情况下这样做,因为..如果我开始使用If语句,一切都会变得太乱。
非常感谢!
答案 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
的基础知识。