当前位置: 首页 > 知识库问答 >
问题:

LibGDX-窗口不是每帧都被清洁

徐高韵
2023-03-14

我正在使用LibGDX为android构建一个简单的游戏(基于flappy bird)。

当鸟(演员)移动时,它会在屏幕上保留旧图像,比如:

我不知道为什么会这样。。。

这是我的GameplayScreen类(代表游戏屏幕)

public class GameplayScreen extends ScreenAdapter{

    private FlappyBird _game;
    private OrthographicCamera _camera;

    private Stage _gameplayStage;
    private Bird _bird;
    private Image _background;


    public GameplayScreen(FlappyBird game){
        _game = game;

        _camera = new OrthographicCamera(FlappyBird.WIDTH, FlappyBird.HEIGHT);

        _gameplayStage = new Stage(new StretchViewport(FlappyBird.WIDTH, FlappyBird.HEIGHT, _camera));

        _background = new Image(Assets.background);
        _gameplayStage.addActor(_background);

        _bird = new Bird();
        _bird.setPosition(FlappyBird.WIDTH * 0.25f, FlappyBird.HEIGHT/2, Align.center);
        _gameplayStage.addActor(_bird);

    }

    @Override
    public void render(float delta){
        _gameplayStage.act();
        _gameplayStage.draw();
    }

    /*Resizes the camera when the screen is resized*/
    @Override
    public void resize(int width, int height){
        _camera.setToOrtho(false, width, height);
        Assets.batch.setProjectionMatrix(_camera.combined);
        _gameplayStage.getViewport().update(width, height, true);
    }
}

有人有线索吗?

共有1个答案

靳高明
2023-03-14
    //set the background color
    Gdx.gl.glClearColor(0, 0, 0, 0);
    //clear 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

在渲染方法中添加上面的代码。这样做的目的是清除屏幕上的帧。

 类似资料:
  • 我试图使用web控制台获取页面上所有h2标记中的文本。 我所发现的就是使用每一种,我已经试过了 但是它返回

  • 我正在使用window API将数据划分为1小时的窗口。在每个窗口中,我使用一个值状态为每个窗口存储一个布尔值。 我必须调用“clear()”方法来清理窗口状态数据吗?我假设,因为Flink处理窗口创建和清除,所以它在清除窗口时也应该处理状态清理。 但是Flink文档明确表示,您应该调用clear方法来删除窗口状态https://ci.apache.org/projects/Flink/flink

  • 我有一个无界数据源(Kafka流)作为我的beam工作的输入。 数据的特性: 它们是元素组(组大小介于5-20个元素之间)。 每个组的键是唯一的标识符,并且仅用于该组。 组中第一个元素和最后一个元素之间的最大时间差小于2秒。 null 我的问题是:有没有一种方法可以让我在自己的窗口中分组每个键,并在一定时间后关闭它?非常感谢

  • 我正在使用Linux并试图学习OpenGL。我参考了learnopengl.com网站,并在这里编译了第一个可用的程序。 我似乎在编译程序时没有遇到命令问题 但是当我运行程序时,它会从后面显示东西,而不是像这样的空白窗口 但是请注意,此窗口不透明,因为如果我移动窗口,背景是相同的。但是,如果我最小化并重新打开窗口,则背景是新创建的。专用和集成 GPU 都会发生这种情况。 我需要做什么才能使它正常工

  • 我从Android Studio建立了我的APK,我正在不同的手机上测试它。它可以在华硕ZenFone2和华硕ZenFone3等手机上正常安装,但不能在三星Galaxy A5 2016上安装。手机给出的错误是: 包安装App不断封堵

  • 问题内容: 我正在开发python应用程序,我想获取每个打开的窗口。我需要窗口的名称和来过滤列表,以管理一些特定的窗口,移动它们并调整其大小。 我试图自己查看信息,但没有获得正确的代码。我尝试使用此代码,但仅获得每个窗口的标题(很棒),但我也需要。 这里有一个错误: 问题答案: 你混了和。 在你所得到的是通过获得,是一个对象。这就是为什么不接受它。你应该把它传给 如果要使用,则可以直接使用pyth