Android libgdx下降对象

时间:2016-03-28 08:30:45

标签: android object libgdx smooth

//this is the UPDATE method
public void update(float delta) {
    handlingInput();

    deltaTime = Gdx.graphics.getDeltaTime();
    timer += deltaTime;
    if (timer >= 1) {
        buttons.add(new Buttons());
        timer -= 1;
    }

    cam.update();

    Iterator<Buttons> butts = buttons.iterator();
    while(butts.hasNext()) {
        Buttons button = butts.next();
        button.update(delta);
        if (button.getPosition().x > Gdx.graphics.getWidth()) {
            butts.remove();
        }
    }
}

这是渲染方法

public void render(SpriteBatch sb) {
    sb.setProjectionMatrix(cam.combined);
    sb.begin();
    for (Buttons butts: buttons) {
        sb.draw(butts.getButTexture(), butts.getPosition().x, butts.getPosition().y);
    }
    sb.end();
}

这是坠落物体的更新

public void update(float delta) {
    position.x += (int) (300 * delta);
}

我有下降的物体乘以我的增量时间,所以它是否滞后无关紧要。我也试过漂浮,但问题是它不顺利,它只是每隔几毫秒就会保持滞后。我是新人,我不确定我缺少什么!?

1 个答案:

答案 0 :(得分:0)

您是否尝试将sb.setProjectionMatrix(cam.combined);移出渲染方法?据我所知,它可以简单地调用一次,当你创建SpriteBatch时,可能它的资源很昂贵并且让你的游戏变得迟钝(这可能不是原因,但我找不到任何东西)其他可以)。