Java Libgdx-对参与者的操作

Java Libgdx-对参与者的操作,java,libgdx,Java,Libgdx,首先,感谢您阅读本文,欢迎您的帮助。 我的演员在舞台上的表演是正确的,但动作会留下痕迹?我就是不明白。就像纹理在每个新帧的新位置渲染一样 这是我的班级代码: public class SlidingCap extends Actor { private Texture capOver; private float xPosition; private float yPosition; public SlidingCap(float x, float y) {

首先,感谢您阅读本文,欢迎您的帮助。 我的演员在舞台上的表演是正确的,但动作会留下痕迹?我就是不明白。就像纹理在每个新帧的新位置渲染一样

这是我的班级代码:

public class SlidingCap extends Actor {
    private Texture capOver;
    private float xPosition;
    private float yPosition;

    public SlidingCap(float x, float y) {
        this.xPosition = x;
        this.yPosition = y;
        this.capOver = new Texture(Gdx.files.internal("images/cappingPlate.png"));
        setBounds(x, y, 288, 180);
    }

    @Override
    public void act(float delta) {
        super.act(delta);
    }

    @Override
    public void draw(Batch batch, float parentAlpha) {
        batch.draw(capOver, getX(), getY(), 288, 180);
        this.addAction(Actions.moveTo(xPosition+10, yPosition+10, 5f));
    }   
}
以及ScreenGame渲染方法:

@Override
public void render(float delta) {
    gameStage.act(delta);
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    this.capMiniGame = new SlidingCap(100, 100);                
    this.gameStage.addActor(capMiniGame);
    gameStage.draw();
}

您正在使用此代码为每一帧添加一个新的SlidingCap

this.capMiniGame = new SlidingCap(100, 100);                
this.gameStage.addActor(capMiniGame);

尝试在Create或show方法中添加一次SlidingCap,而不是每一帧

我简化了代码以满足本文的需要,但是。。。我认为你是对的。让我试试这个。谢谢,就这样。真不敢相信我没看见。谢谢。