以前我使用 simpleTexture
用于基于 sprite 的动画,但它不支持不支持 2 的图像。TexturePacker提供了一次加载所有图像的能力,然后从imageatlas
.
也就是说,我遵循了 Libgdx wiki 中的几个教程,并且在加载部分之前它运行良好。但我想在渲染过程中,它会引起一些问题。这就是我将图像加载到texturepacker
我的桌面项目中的方式:
private static final String INPUT_DIR = "../Drop-Android/assets/images";
private static final String OUTPUT_DIR = "../Drop-Android/assets/image-atlases";
private static final String PACK_FILE = "pages-info";
public static void main(String[] args){
LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
cfg.title = "Drop";
cfg.width = 800;
cfg.height = 480;
Settings settings = new Settings();
settings.maxWidth = 512;
settings.maxHeight = 512;
TexturePacker2.process(settings, INPUT_DIR, OUTPUT_DIR, PACK_FILE);
new LwjglApplication(new Drop(), cfg);
}
问题:我必须在 images-atlases 文件夹pages-info
中手动创建 ie吗?PACK_FILE
如果我不这样做,它会抛出File not found exception
.
我碰巧在文件夹中创建pages-info
了文件,image-atlases
并生成了以下文件:pages-info.png
和“pages-info.atlas”。而pages-info
files 为空,.png
而.atlas
files 分别具有图像和 JSON 图像数据。
这是我用来提取文件(为空)textureregions
的内容:pages-info
TextureAtlas ta = new TextureAtlas(Gdx.files.internal("image-atlases/pages-info"));
imageOneRegion = ta.findRegion("image1.png");
imageTwoRegion = ta.findRegion("image2.png");
正如预期的那样,它nullpointerexception
在绘制textureregion
. 我的想法在这里用完了,有什么帮助和想法吗?