【问题标题】:LibGDX Texture array won't workLibGDX 纹理数组不起作用
【发布时间】:2017-11-11 18:15:07
【问题描述】:

我正在尝试使用 LibGDX 制作一个简单的游戏,一旦我在屏幕上单击,纹理“蛋”应该会更改为下一个。然而,每次我触摸屏幕时,应用程序都会崩溃

Texture[] eggs = new Texture[5];

}

@Override
public void render() {


    if (Gdx.input.justTouched()) {

        eggs[i] = new Texture(String.format("pic_%d.png", i++));
        batch.begin();
        batch.draw(eggs[i], Gdx.graphics.getWidth() / 2 - eggs[i].getWidth() / 2, Gdx.graphics.getHeight() / 2 - eggs[i].getHeight() / 2);
        batch.end();
    }
}}

【问题讨论】:

  • i 来自哪里?堆栈跟踪是什么意思?
  • 你得到什么异常?
  • 您需要编辑您的帖子以包含错误,否则我们无能为力。如果崩溃错误为java.lang.NullPointerException,则表示i尚未在您的代码中初始化,因此请在render方法之外添加public int i = 0;。如果你的错误是java.lang.ArrayIndexOutOfBoundsException那么说明i太大或者太小,必须在0到4之间的范围内。

标签: arrays libgdx textures


【解决方案1】:

eggs[i]=... 首先被评估并获得一个 Texture 对象,i 之后递增。因此,将其作为索引实际上是指数组中未初始化的 Texture 元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多