2014-04-09 46 views
1

我試圖從skin.json加載libgdx中的簡單皮膚。皮膚文件很簡單:獲取錯誤嘗試從skin.json加載精靈

{   
    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); 

但我不能找到它定義

感謝的方式!

+0

我認爲你可以通過調試很容易地找到原因 – suitianshi

+0

我認爲我知道發生了什麼,我編輯的問題更清楚。 – Killrazor

回答

1

如果你想在uiskin.atlas,而不是uiskin.json使用

Texture texture = skin.get("logo", Texture.class); 

的get-方法搜索。應該有一個名爲「標誌」的條目:

logo 
    rotate: false 
    xy: 170, 44 
    size: 100, 100 
    orig: 100, 100 
    offset: 0, 0 
    index: -1 

您可以使用此代碼段爲您的需要。修改您的需求是XY(左上角的TextureRegion在uiskin.png角落大小起源(在像素您TextureRegion大小),大小和來源應該是相同的參數,其他你可以採取的參數