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

meaning of index in texture atlas files

我正在关注 libgdx 纹理图集教程。这是纹理图集文件的摘录。 index参数是什么意思,在什么情况下对程序员有用?所有纹理区域都有它并且它是相同的,即-1,在所有它们中。

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

来自Javadoc

The number at the end of the original image file name, or -1 if none.

When sprites are packed, if the original file name ends with a number, it is stored >as the index and is not considered as part of the sprite's name.

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

它通常用于动画。在打包成图集之前,可以在每一帧动画的文件名后附加帧号,即run0.png、run1.png、run2.png等。贴图打包时,编号为从 sprite 的名称中删除并用作其索引。然后你可以一次加载所有动画:

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

原文件名不以数字结尾时索引为-1