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

在LibGDX中渲染到下一个屏幕失败

有权
2023-03-14

我有一个大学项目,用LibGDX制作关于粉碎游戏的游戏,我做了这个项目,当玩家生命为0时,它从游戏屏幕类切换到EndGameScreen类,但是这种情况发生了失败的渲染,我实际上不确定这是否是因为setScreen方法或我的EndGameScreen类是不正确的

游戏屏幕类

//setScreen in GameScreen 
if (life == 0) { //this is inside the render function
        game.setScreen(game.endGame);
        dispose();
    }
@Override
public void dispose() {
    bg.dispose();
    fontScore.dispose();
    lifes.get(0).dispose();
    lifes.get(1).dispose();
    lifes.get(2).dispose();
    bactery0Arr.clear();
    bactery1Arr.clear();
    bactery2Arr.clear();
}

 

EndGameScreen类

//EndGameScreen class
public class EndGameScreen implements Screen {
final BacterySmasher game;
OrthographicCamera camera;

public EndGameScreen(final BacterySmasher game) {
    this.game = game;

    //Set camera
    camera = new OrthographicCamera();
    camera.setToOrtho(false, 1280, 720);
}

@Override
public void show() {

}

@Override
public void render(float delta) {
    camera.update();
    game.batch.setProjectionMatrix(camera.combined);
    game.batch.begin();
    game.batch.draw(new Texture(Gdx.files.internal("bg.png")), 0,0,0,0);
    game.batch.end();
}

@Override
public void resize(int width, int height) {

}

@Override
public void pause() {

}

@Override
public void resume() {

}

@Override
public void hide() {

}

@Override
public void dispose() {

}

}

共有1个答案

水恩
2023-03-14

您是否在游戏屏幕的渲染方法中调用disment()?相反,当屏幕被隐藏时调用。

   @Override
    public void hide() {
        dispose();
    }
 类似资料:
  • 我有一个问题,我认为它与屏幕渲染及其生命周期有关。基本上我有两个屏幕(菜单和游戏)。在GameScreen渲染方法中,我称之为World。更新,然后我的渲染。在(GameScreen的)隐藏方法中,我从Redner类中处理SpriteBatch。 因此,当我将屏幕从游戏更改为菜单(intheworld.update)时,Java崩溃。据我所知,飞机失事了。所以我的问题是,当我在渲染周期中间设置一个

  • 问题内容: 我有一个使用FitViewport的尺寸为800x480的游戏世界,最初使用像素来渲染box2d物体+固定装置,因此所有物理效果看起来都是漂浮而缓慢的。通过查看文档,我发现box2d使用度量单位,因此我将box2d的位置和大小转换为32倍,因此最终得到了25x15米的box2d世界。 我遇到的问题是,现在box2d对象变得非常小。如何缩小它们,使它们在屏幕上显示常规尺寸? 问题答案:

  • 我一直有一个问题,在我的屏幕渲染。 基本上,我有一个扩展游戏的整体类,我为我的游戏的各种页面创建了一些其他类,如主菜单、实际游戏等。当我在其中一个类上调用setScreen(屏幕)时,该屏幕的渲染循环被调用,但我似乎不能绘制任何东西。 我所做的是在整个游戏类中创建了正交摄影机和spritebatch,并通过它们的构造函数方法将其传递给屏幕。然而,我似乎什么都不会画。屏幕仍会清除背景。 很抱歉,我目

  • 我正在重温LibGDX游戏编程,不幸的是,我不得不重新学习我以前知道的东西。 我目前正在使用平铺地图编辑器制作一个非常简单的大金刚风格关卡。我总共有大约20个矩形。 我在我的主要游戏屏幕类中创建了一个box2d世界,并有一个for循环来将矩形对象放入世界和调试器。 我的问题是,只有我绘制的底部(和第一个)矩形出现。我已经检查了比例,还放了一个println(),它告诉我已经解析了对象信息,所有的矩

  • 多亏了我在这个论坛上解决其他问题的帮助,我成功地推进了我的项目,但另一个障碍出现在我的道路上。 我有麻烦在libgdx java实现多个屏幕。我想知道如何实现多个屏幕(一个用于主菜单,一个用于播放,一个用于加载屏幕,...)。 关于我应该如何构造我的屏幕类的一个例子或一些解释将非常有帮助。我试着实现我自己的屏幕管理器,但不太顺利...还有一些关于我应该如何处理屏幕的提示,因为每次从主菜单到播放或选

  • 这是来自Google Adsense应用程序页面的示例。显示在主页之前的加载屏幕显示在之后。 我不知道如何使用React做同样的事情,因为如果我让React组件渲染加载屏幕,它不会在页面加载时显示,因为它必须等待之前渲染的DOM。 更新: 我以我的方法为例,将屏幕加载程序放入中,并在Reactlifecycle方法中删除它。 示例和反应加载屏幕。