SpriteBatch.draw(Sprite, ...) 在 LibGDX 中抛出 NullPointerException
SpriteBatch.draw(Sprite, ...) throws NullPointerException in LibGDX
标题是 self-explanatory... 显然问题出在 SpriteBatch class 的 flush 方法中的 lastTexture.bind();
行。我做了一些冲浪,发现它可能是因为精灵没有纹理。所以我 运行 使用 if-statements 进行了一些测试,我从字面上写了 -
if(sprite.getTexture() != null) {
sb.draw(sprite, ...);
}
而且还是走到了画线,然后就抛出了这个错误!任何帮助将不胜感激...
我发现了问题所在。问题实际上出在我在播放器之前渲染的盒子纹理上。由于在渲染播放器时它们存储在我的 SpriteBatch 中的 lastTexture 变量中,因此我被误导并试图调试错误的代码。如果其他人遇到同样的问题,希望这对您有所帮助!
标题是 self-explanatory... 显然问题出在 SpriteBatch class 的 flush 方法中的 lastTexture.bind();
行。我做了一些冲浪,发现它可能是因为精灵没有纹理。所以我 运行 使用 if-statements 进行了一些测试,我从字面上写了 -
if(sprite.getTexture() != null) {
sb.draw(sprite, ...);
}
而且还是走到了画线,然后就抛出了这个错误!任何帮助将不胜感激...
我发现了问题所在。问题实际上出在我在播放器之前渲染的盒子纹理上。由于在渲染播放器时它们存储在我的 SpriteBatch 中的 lastTexture 变量中,因此我被误导并试图调试错误的代码。如果其他人遇到同样的问题,希望这对您有所帮助!