//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);
}
我有下降的物体乘以我的增量时间,所以它是否滞后无关紧要。我也试过漂浮,但问题是它不顺利,它只是每隔几毫秒就会保持滞后。我是新人,我不确定我缺少什么!?
答案 0 :(得分:0)
您是否尝试将sb.setProjectionMatrix(cam.combined);
移出渲染方法?据我所知,它可以简单地调用一次,当你创建SpriteBatch时,可能它的资源很昂贵并且让你的游戏变得迟钝(这可能不是原因,但我找不到任何东西)其他可以)。