libgdx,水平移动精灵列表

时间:2017-11-25 15:26:05

标签: java libgdx

在我的游戏中,我试图制作一个水平移动的精灵列表。这是我的渲染方法:

public void render() {
        Gdx.gl.glClearColor(255, 255, 255, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        int speed = 3;
        ConveyorBelt cnb = new ConveyorBelt();
        for (int i = 0; i < 6; i++) {
            Sprite s = new Sprite(img);
            s.setPosition(500 - 100 * i, 100);
            cnb.belt.push(s);
        }
        batch.begin();
        for (Sprite s : cnb.belt) {
            s.draw(batch);
            s.setX(s.getX() + speed);
        }
        batch.end();
    }

我希望列表中的一个精灵消失,一旦击中屏幕上的某个点。不幸的是,他们似乎没有动。这是什么原因?

提前致谢!

1 个答案:

答案 0 :(得分:2)

每次调用render()时,您都会创建一个全新的精灵列表。它们都是从你给他们的初始位置开始的,无论你对前一帧的精灵做了什么,现在都已经消失了。

new ConveyorBelt()和精灵创建循环移至create()