LibGDX中的纹理图集

时间:2018-10-19 20:07:25

标签: java libgdx

我正在尝试加载png文件,但是我不知道为什么它不起作用,因为我已经检查了文件路径并使用TexturePacker制作了纹理图集。同一路径中的其他图像也可以正常工作。任何帮助将不胜感激。

SpriteBatch batch;
Texture img, img2, img4;
private Player player, player2;
private Texture start, continued;
TextureRegion my, my2, my3;
TextureRegionDrawable myt, myt2, myt3;
Button button, button2;
Stage stage, stage2;
String fonte, starte, opcoes;
BitmapFont yesa, funciona;
Image ima;
Texture img3;
Sprite spider;
TextureAtlas textatlas;
FileHandle f;


 public void create(){

 Stage stage = new Stage();
    OrthographicCamera camera = new OrthographicCamera();
    camera.setToOrtho(false, 800, 480);
    batch = new SpriteBatch();
    textatlas = new TextureAtlas("TA/Agorafunfa.png");
    TextureAtlas.AtlasRegion a = textatlas.findRegion("spider");
    spider = new Sprite(a);
    //player2 = new Player("spider.png", Info.WIDTH / 2, Info.HEIGHT / 2);
    player = new Player("playerr.png", Info.WIDTH / 2, Info.HEIGHT / 2);
    img = new Texture("Captura.PNG");
    myt = new TextureRegionDrawable(my);
    yesa = new BitmapFont(Gdx.files.internal("yesa.fnt"));
    fonte = "Escape Planet";
    img2 = new Texture("comeca.png");
    img4 = new Texture("comeca.png");
    img3 = new Texture("saturno.png");
    ima = new Image(img3);
    myt2 = new TextureRegionDrawable(my2);
    funciona = new BitmapFont(Gdx.files.internal("yesa.fnt"));
    starte = "Começar";
    myt3 = new TextureRegionDrawable(my3);
    opcoes = "Opções";
    TextureRegion tx = new TextureRegion(img2);
    Drawable dr = new TextureRegionDrawable(tx);
 }

发生以下错误:

Exception in thread "LWJGL Application" 
 com.badlogic.gdx.utils.GdxRuntimeException: Error reading pack file: 
 TA/Agorafunfa.png
 at com.badlogic.gdx.graphics.g2d.TextureAtlas$TextureAtlasData.<init> 
 (TextureAtlas.java:187)
 at com.badlogic.gdx.graphics.g2d.TextureAtlas.<init>(TextureAtlas.java:231)
 at com.badlogic.gdx.graphics.g2d.TextureAtlas.<init>(TextureAtlas.java:226)
 at com.badlogic.gdx.graphics.g2d.TextureAtlas.<init>(TextureAtlas.java:216)
 at com.badlogic.gdx.graphics.g2d.TextureAtlas.<init> 
(TextureAtlas.java:211)
 at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:63)
 at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop
(LwjglApplication.java:149)
at 
com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run
(LwjglApplication.java:126)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Invalid line: 
at 
com.badlogic.gdx.graphics.g2d.TextureAtlas.readTuple(TextureAtlas.java:443)
at com.badlogic.gdx.graphics.g2d.TextureAtlas$TextureAtlasData.<init> 
(TextureAtlas.java:115)... 7 more

1 个答案:

答案 0 :(得分:2)

创建纹理图集后,您应该获得2个文件:.png图像和图集文件,其名称和扩展名与.atlas.pack类似。

所以您应该使用此文件。

可能是:

textatlas = new TextureAtlas("TA/Agorafunfa.atlas"); // Or Agorafunfa.pack or simillar