【问题标题】:Texture atlas in LibGDXLibGDX 中的纹理图集
【发布时间】:2018-10-20 05:42:29
【问题描述】:

我正在尝试加载 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

【问题讨论】:

    标签: java libgdx


    【解决方案1】:

    创建纹理图集后,您应该得到 2 个文件:.png 图像和图集文件,名称和扩展名相同,如 .atlas.pack

    所以你应该使用这个文件。

    大概:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 1970-01-01
      • 2017-05-16
      • 2013-02-09
      相关资源
      最近更新 更多