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

在libGDX中刷新hud

富建章
2023-03-14

我的平视显示器是这样的。中间的图片应该是显示玩家当前的武器。我用下面的代码添加了图像:

table.add(weaponImage).width(weaponWidth).height(weaponHeight);

在我的hud中,我做了一个名为“UpdateWarge”的方法来改变图像,这并不起作用。

public void changeSword(String swordName) {
        weaponImage = new Image(new Texture(Gdx.files.internal(swordName)));
        System.out.println("Weapon changed");
    }

“武器改变”在控制台打印出来,但图像没有改变。我想那是因为hud没有刷新,那我该怎么做呢?

共有1个答案

祁承嗣
2023-03-14

您正在更改一个已经分配的引用(如果愿意,也可以是指针)的引用。

假设原始武器图像位于0x1地址。指示该表显示0x1处的任何内容。现在,您将武器图像指针更改为0x5处的新图像,但表取第一个值。

要更新映像,您需要使用原始的0x1地址并在那里切换映像。

改变

weaponImage = new Image(new Texture(Gdx.files.internal(swordName)));

weaponImage.setDrawable(new TextureRegionDrawable(new Texture(Gdx.files.internal(swordName)));

但是首先获取纹理,您不希望每次都执行new

 类似资料:
  • 问题内容: 我有一个问题,在写入文件时,在关闭之前,我们应该包括flush()??吗?如果是这样,它将怎样做?不要流自动冲洗?编辑: 那么冲洗它实际上是做什么的? 问题答案: 编写器和流通常在内存中缓冲一些输出数据,并尝试一次将其写入更大的块中。刷新将导致立即从缓冲区写入磁盘,因此,如果程序崩溃,数据也不会丢失。当然不能保证,因为磁盘可能不会立即物理写入数据,因此仍然可能会丢失。但这不是Java程

  • 既然有一个,那么当使用时,有没有办法刷新更新的实体? 我试图按批处理更新实体。 真的会有很大的帮助! 非常感谢。

  • 问题内容: 如果将新文档索引到Elasticsearch索引,则可在索引操作后1秒钟左右搜索新文档。但是,可以通过调用或对索引进行操作来强制使该文档可立即搜索。这两个操作之间有什么区别- 结果似乎对他们来说是相同的,可以立即搜索文档。 这些操作中的每一项到底是什么? ES文档似乎并未深入解决此问题。 问题答案: 您得到的答案是正确的,但我认为值得详细说明。 刷新有效地调用了Lucene索引读取器上

  • 在JavaFX中,我怎么能让一个矩形闪烁到视图之外。 我正在制作一个单词搜索游戏,我有一个随机的2D数组。我正在将此数组打印到600x600画布上,如下所示: 我也有一个正方形绘制在同一画布上,就像这样: 这意味着我可以通过增加和来移动正方形。这给了:这个。 现在唯一的问题是,我需要一个矩形来闪烁,这样当选中时,下面的字母仍然可见。我该怎么做?我尝试将颜色设置为不透明,但这也会导致游戏板的其他部分

  • 问题内容: 我正在编写一个应用程序,它是Angular和jQuery的一部分。我通过在iFrame中加载jQuery内容来分离它们。 在某个事件(例如,单击ng)时,我需要刷新iFrame。我的控制器包含以下代码: 而iFrame是: 问题答案: 正如Paulo Scardine所说,正确的方法是通过指令,因为您不应该使用控制器来操纵DOM。 这样的事情可以做: 然后可以这样使用: 和:

  • 问题内容: 我在这里阅读,但是如果xml文件更改,jtree不会重新加载/ refreshes 如何创建刷新/重新加载Jtree的函数, 我尝试编写代码: 但我收到错误:java.lang.NullPointerException 问题答案: 我添加了一个新的,以在。您可能需要从构造函数中重构出来;为了方便起见,我已经对其进行了硬编码: