Java 尝试从skin.json加载精灵时出错

Java 尝试从skin.json加载精灵时出错,java,libgdx,Java,Libgdx,我正在尝试从skin.json加载libgdx中的简单皮肤。皮肤文件非常简单: { com.badlogic.gdx.graphics.g2d.Sprite : { centerImage : { } } } 使用此代码,代码运行良好,但我得到一个空的精灵。尝试加载纹理并加载纹理化的精灵,加载纹理时出现异常: { com.badlogic.gdx.graphics.Texture : {

我正在尝试从skin.json加载libgdx中的简单皮肤。皮肤文件非常简单:

{        
    com.badlogic.gdx.graphics.g2d.Sprite : {
            centerImage : {

            }
        }
}
使用此代码,代码运行良好,但我得到一个空的精灵。尝试加载纹理并加载纹理化的精灵,加载纹理时出现异常:

{
    com.badlogic.gdx.graphics.Texture : {
        centerImageTexture : {
            file : images/crop001.png
        }
    },

    com.badlogic.gdx.graphics.g2d.Sprite : {
        centerImage : {
            texture : centerImageTexture
        }
    }
}
这是libGDX代码

 skin = new Skin(Gdx.files.internal(skinFile));

centralImage = skin.getSprite("centerImage");
我需要的是一种在不使用图集的情况下将纹理定义到蒙皮文件中的方法。文档说明了如何加载纹理:

Texture texture = skin.get("logo", Texture.class);
但我找不到定义它的方法

谢谢

如果您想使用

Texture texture = skin.get("logo", Texture.class);
get方法在uiskin.atlas中搜索,而不是在uiskin.json中搜索。应该有一个名为“logo”的条目:


您可以根据需要使用此代码段。根据您的需要修改xy(uiskin.png中纹理区域的左上角和大小和原点的参数(纹理区域的大小以像素为单位).size和origin应该相同。其他参数可以按原样使用。

我想你可以通过debug轻松找到原因。我想我知道发生了什么。我对问题进行了编辑,以便更清楚。
logo
  rotate: false
  xy: 170, 44
  size: 100, 100
  orig: 100, 100
  offset: 0, 0
  index: -1