Java libGDX-如何删除屏幕上现有的spritebatch?
所以我一直在浏览和试验一些东西,但不太明白如何删除屏幕上预先存在的spriteBatch 所以基本上 我发起了Java libGDX-如何删除屏幕上现有的spritebatch?,java,android,libgdx,Java,Android,Libgdx,所以我一直在浏览和试验一些东西,但不太明白如何删除屏幕上预先存在的spriteBatch 所以基本上 我发起了 batcher.begin(); (blah blah blah) AssetLoader.font.draw(batcher, "Hey guys", x, y); 像这样的。。。 现在我想在屏幕上删除/删除/取消绘制这个东西。。。 在不使用if语句的情况下,如何执行此操作,因为。。如果我开始使用if语句,一切都会变得一团糟 非常感谢 OpenGL应用程序中普遍接受的做法是每次清除
batcher.begin();
(blah blah blah)
AssetLoader.font.draw(batcher, "Hey guys", x, y);
像这样的。。。
现在我想在屏幕上删除/删除/取消绘制这个东西。。。
在不使用if语句的情况下,如何执行此操作,因为。。如果我开始使用if语句,一切都会变得一团糟
非常感谢 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;
}
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;
}
你问什么有点不清楚。默认情况下,您的屏幕在
Render
方法中每帧都会被清除一行
gl.glClear( GL20.GL_COLOR_BUFFER_BIT );
很明显,我们需要说明什么时候我们想画东西。如果在一个类中编写整个程序,显然很快就会变得一团糟。但是Java是
OOP
,这意味着您可以添加一个类,其中包含自己的Draw
/Render
方法以及关于何时应该绘制它们的语句。我建议您开始学习OOP
的基础知识,您的问题有点不清楚。默认情况下,您的屏幕在Render
方法中每帧都会被清除一行
gl.glClear( GL20.GL_COLOR_BUFFER_BIT );
很明显,我们需要说明什么时候我们想画东西。如果在一个类中编写整个程序,显然很快就会变得一团糟。但是Java是
OOP
,这意味着您可以添加一个类,其中包含自己的Draw
/Render
方法以及关于何时应该绘制它们的语句。我建议您开始学习OOP
的基础知识,您可以使用dispose()代码>method@user3225831如果他处置资产,当代码想要再次绘制时,他将得到一个空指针异常代码>method@user3225831如果他处理了一个资源,当代码想要再次绘制时,他将得到一个空指针异常。要停止绘制,你的意思是我应该停止绘制它吗?我只有一个渲染类。这是否意味着我应该创建更多的渲染类@谢谢你@我在回答中更新了这个例子,让它更清楚地说明如何“停止”画画。(有无数种方式可以表达这一点,所以就把这当作一个建议……)要停止画画,你的意思是我应该停止渲染它吗?我只有一个渲染类。这是否意味着我应该创建更多的渲染类@谢谢你@我在回答中更新了这个例子,让它更清楚地说明如何“停止”画画。(有无数种方式可以表达这一点,所以就把这当作一个建议吧……)