纹理图集文件中索引的含义

时间:2015-12-14 19:25:34

标签: libgdx texture-atlas

我在纹理地图集上关注libgdx tutuorial。这是纹理图集文件的摘录。 index参数的含义是什么?在什么情况下它对程序员有用?所有纹理区域都有它,并且它们在所有纹理区域中都是相同的。

prehistoric.png
format: RGBA8888
filter: Nearest,Nearest
repeat: none
background
  rotate: false
  xy: 2, 2
  size: 1280, 720
  orig: 1280, 720
  offset: 0, 0
  index: -1
trex
  rotate: false
  xy: 1286, 479
  size: 179, 243
  orig: 179, 243
  offset: 0, 0
  index: -1
caveman
  rotate: false
  xy: 1286, 319
  size: 83, 156
  orig: 83, 156
  offset: 0, 0
  index: -1

2 个答案:

答案 0 :(得分:3)

来自Javadoc

  

原始图像文件名末尾的数字,如果没有则为-1。

     

当精灵被打包时,如果原始文件名以数字结尾,则它将作为索引存储>并且不被视为精灵名称的一部分。

我还应该补充一点,该索引也用于findRegion(String name,int index)方法,该方法返回找到的具有指定名称和索引的第一个区域。

答案 1 :(得分:1)

它通常用于动画。您可以将帧编号附加到每个动画帧的文件名,然后再将它们打包到图册中,即run0.png,run1.png,run2.png等。在纹理打包期间,将从精灵中删除该编号。 ; s名称并用作其索引。然后你可以一次加载动画:

animation = new Animation(0.1f, atlas.findRegions("run"));

当原始文件名未以数字结尾时,索引为-1。