Java 如何在libGDX中删除背面纹理?
我得到上述代码的输出,如下所示Java 如何在libGDX中删除背面纹理?,java,android,opengl-es,libgdx,Java,Android,Opengl Es,Libgdx,我得到上述代码的输出,如下所示 但是我需要删除后面的星星,对于每个星星,我如何才能做到这一点???在函数渲染中首先清除屏幕 在函数渲染中首先清除屏幕 您需要在每帧之前清除屏幕,如下所述: 您需要在每帧之前清除屏幕,如下所述: 似乎您希望在每帧之前清除屏幕。看看怎么做。@Banthar:这是链接,Gdx.gl.glClearGL10.gl\u COLOR\u BUFFER\u位;这段代码有帮助,你能把它作为一个aswer发布吗?似乎你想在每一帧之前清除屏幕。看看怎么做。@Banthar:这是链接
但是我需要删除后面的星星,对于每个星星,我如何才能做到这一点???在函数渲染中首先清除屏幕
在函数渲染中首先清除屏幕
您需要在每帧之前清除屏幕,如下所述:
您需要在每帧之前清除屏幕,如下所述:
似乎您希望在每帧之前清除屏幕。看看怎么做。@Banthar:这是链接,Gdx.gl.glClearGL10.gl\u COLOR\u BUFFER\u位;这段代码有帮助,你能把它作为一个aswer发布吗?似乎你想在每一帧之前清除屏幕。看看怎么做。@Banthar:这是链接,Gdx.gl.glClearGL10.gl\u COLOR\u BUFFER\u位;这段代码有帮助,你能把它作为一个aswer发布吗?如何检测纹理是否在表单的末尾,如果是的话,需要停止渲染,我们怎么做?这是一个完全独立的问题,取决于你的投影矩阵。如果它是默认的OpenGL投影,您只需检查星星的位置是否大于等于1。如果投影到1个单位=1个像素,则应检查星星的位置是否大于等于窗口的宽度。对于任何其他投影,您必须进行一些数学运算,以查看窗口的边缘在哪里。如何检测纹理是否位于窗体的末尾,如果是,需要停止渲染,我们如何进行?这是一个完全独立的问题,取决于您的投影矩阵。如果它是默认的OpenGL投影,您只需检查星星的位置是否大于等于1。如果投影到1个单位=1个像素,则应检查星星的位置是否大于等于窗口的宽度。对于任何其他投影,您必须进行一些数学运算,以查看窗口的边缘在哪里。
private Texture druidTexture;
private SpriteBatch batch;
Sprite sprite;
@Override
public void create() {
druidTexture = new Texture(Gdx.files.internal("star-large.gif"));
sprite = new Sprite(druidTexture);
batch = new SpriteBatch();
}
@Override
public void dispose() {
}
@Override
public void pause() {
}
@Override
public void render() {
batch.begin();
sprite.rotate(45);
float x=sprite.getX();
float y=sprite.getY();
float newx=x+1;
System.out.println(newx);
float newy=y+1;
sprite.setX(newx);
sprite.draw(batch);
batch.end();
}
@Override
public void resize(int arg0, int arg1) {
}
@Override
public void resume() {
}
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
.....
}
public void render () {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); // This cryptic line clears the screen.
batch.begin();
// Drawing goes here!
batch.end();
}