我是lib gdx的新手,面临正确渲染的问题。当我移动Actor时,它移动得很好,但是最后一个位置框架没有从屏幕上清除,所以整个路径在移动时出现。
如果对象1移动那么它看起来像11111111111111111111111111111,而它应该只在最后一点像1。
我的演员
公共类SinglePipe扩展了Actor {
@Override
public void draw(SpriteBatch batch, float parentAlpha) {
batch.setColor(getColor().r, getColor().g, getColor().b, getColor().a);
batch.draw(Assets.car, this.getX(), this.getY());
}
@Override
public void act(float delta) {
// TODO Auto-generated method stub
super.act(delta);
}
}
屏幕类
公共类GameScreen实现了Screen,GestureListener {
private Stage stage;
private SinglePipe singlePipe;
Logger logger = new Logger("");
public GameScreen() {
// Gdx.graphics.setContinuousRendering(false);
logger.setLevel(5);
stage = new Stage();
singlePipe = new SinglePipe();
stage.addActor(singlePipe);
}
@Override
public void render(float delta) {
// camera.update();
handleInput();
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL10.GL_GREEN_BITS);
stage.act();
// stage.draw();
}
private void handleInput() {
if (Gdx.input.isKeyPressed(Input.Keys.A)) {
// singlePipe.addAction(Actions.moveBy(5, 5));
// singlePipe.addAction(Actions.rotateBy(180));
singlePipe.setX(singlePipe.getX() + 5);
singlePipe.setY(singlePipe.getY() + 5);
}
}
}
答案 0 :(得分:1)
在渲染方法中使用:
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);`