我正在尝试从skin.json加载libgdx中的简单皮肤。皮肤文件非常简单:
{
com.badlogic.gdx.graphics.g2d.Sprite : {
centerImage : {
}
}
}使用此代码,代码运行良好,但我得到了一个空的sprite。为了加载纹理并加载雪碧纹理化,我得到了异常加载纹理:
{
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);但我找不到定义它的方法
谢谢!!
发布于 2014-10-24 09:33:23
如果你想用
Texture texture = skin.get("logo", Texture.class);get方法在uiskin.atlas中搜索,而不是在uiskin.json中搜索。应该有一个名为“徽标”的条目:
logo
rotate: false
xy: 170, 44
size: 100, 100
orig: 100, 100
offset: 0, 0
index: -1您可以根据需要使用此代码片段。根据您的需要修改的参数是xy ( uiskin.png和size中TextureRegion的左上角)和原产地(Pixel中的TextureRegion大小)。大小和产地应该是一样的。其他你可以接受的参数。
https://stackoverflow.com/questions/22967823
复制相似问题