2014-01-15 106 views
4

我正在使用TexturePackerPro程序將sprites打包到.pack文件並在libGDX中使用它。 在一些精靈有rotate: true標誌,但是當我讀取精靈在libgdx精靈不旋轉。libGDX紋理包裝盒旋轉

rotate: true 
    xy: 425, 1066 
    size: 59, 96 
    orig: 59, 96 
    offset: 0, 0 
    index: -1 

當rotate標誌設置爲true時,爲什麼sprite並沒有旋轉它自己?如果我在繪圖時必須手動旋轉,那麼爲什麼會有旋轉標誌?

感謝

回答

4

的精靈,因爲libgdx旋轉你的紋理區域恢復到原來的旋轉不旋轉。

爲什麼? rotate標誌只是爲了說明pack文件中的紋理是如何定向的,並不是說在加載區域後如何定向圖像。 Libgdx假定你希望所有圖像都是直立的。

+0

我該怎麼做才能顯示正確的旋轉區域?謝謝 – Jovan

+0

迭代你的'TextureAtlas'中的所有'AtlasRegion'。如果「AtlasRegion」旋轉爲真,則將該區域順時針旋轉90度,然後交換寬度和高度。這應該適合你。 您可以嘗試刪除包文件中的旋轉線,但每次都必須執行此操作。 –

+1

您究竟如何順時針旋轉區域90度,似乎沒有辦法做到這一點? –

-1

您必須使用SpriteAtlasSprite才能獲得旋轉屬性。 TextureRegionAtlasRegion不考慮旋轉。如果要將其轉換爲Drawable,請使用SpriteDrawable