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

呈现方法不是绘制任何东西JAVA LibGDX

林和煦
2023-03-14

我试图用libGdx和MVC模式制作一个游戏。我有一个我的游戏模型,我打算一直运行,而不是我的渲染方法从应用程序。因此,我在从libgdx扩展Game的类中做了这样的工作:首先,我将连续呈现设置为false,为了调用呈现方法,我使用gamescreen作为模型的监听器。

public class MyGame extends Game {

GameModel model;
GameScreen gs;

@Override
public void create() {
    Gdx.graphics.setContinuousRendering(false);
    Gdx.graphics.requestRendering();
    model = new GameModel();
    gs = new GameScreen(this, model);
    model.addPCL(gs);
    setScreen(gs);
    model.runGame();


}  ...
@Override
public void propertyChange(PropertyChangeEvent evt) {
    System.out.println("Event recieved");
    myGame.render();
    //Gdx.graphics.requestRendering();
}
@Override
public void render(float delta) {
    System.out.println("mapscreen render beginning: " + delta);
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    // Stuff that should be drawn happens here      
}

共有1个答案

唐涛
2023-03-14

是您的model.rungame();封锁行动?如果是这样,create()方法永远不会结束。因此LibGDX主线程会卡在那里。但是LibGDX线程需要在后台运行。

也许您应该在另一个线程中启动model.rungame()。

 类似资料:
  • 本文摘自flappy bird娱乐教程的第6天--http://www.kilobolt.com/day-6-adding-graphics---welcome-to-the-necropolis.html 这是我在游戏中使用的纹理图像文件。它是一个256px64px.png文件。 这里是我用来加载纹理的类,以及我希望SpriteBatch绘制的特定的TextureRegion(纹理的一部分)。

  • 目前,每当我启动该程序时,我就会看到椭圆形/圆形、矩形/正方形和字符串(自从我添加它以来,这条线就一直不见了,我不知道为什么它不画线)。当我,比如说,注释掉创建矩形的行并重新启动程序时,除了打印的字符串出现在框架上后,所有的东西都立即消失了。 此外,我如何更新这些绘画/框架,让绘画保留在框架上?当我最小化+重新打开窗口时,框架中的所有东西都被擦除(除了GUI的其余部分)。一旦这些画消失了,就需要非

  • 我是不是漏了什么? 这不能编译。Eclipse抱怨"Matcher Asrett类型中的方法断言(T, Matcher)不适用于参数(int, Matcher 我错过了什么东西可以用吗?我在过去使用过其他Hamcrest方法...那么这有什么不同呢?

  • 问题内容: 我在将任何内核模块构建到我的机器上时遇到问题。每当我构建模块时,modpost总是说模块为零: 为了解决该问题,我编写了一个测试模块(hello.c): 这是模块的Makefile: 在计算机上构建它时,得到以下输出: 当我在另一台机器上制作模块时,它成功了: 我寻找了有关modpost的任何相关文档,但收效甚微。任何人都知道modpost如何决定要构建什么?我可能会缺少一个环境吗?

  • 问题内容: 我有以下代码: 该文件包含以下内容: 但是由于某种原因,每次都只返回一个空列表。 代码中可能存在愚蠢的错误或错字,但我只是找不到。提前致谢。 问题答案: 你读的文件 已经 和文件指针不是在 末尾 的文件。然后调用将不会返回数据。 仅读取一次文件: 另一种选择是在重新阅读之前先回到开头: 但这只是浪费CPU和I / O时间。 最好的办法是尝试和阅读 小 数据量,或寻求到了最后,通过采取文

  • 我试图解决Leetcode上的二和算法: 给定一个整数数组,返回两个数字的索引,使它们相加到一个特定的目标。您可以假设每个输入都有一个解决方案,并且不能两次使用同一个元素。 我想到了这个: 问题是它没有返回任何内容,也没有返回打印的声明。有什么想法吗?