0

我正在关注纹理图集上的 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
4

2 回答 2

3

Javadoc

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

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

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

于 2015-12-14T20:48:18.107 回答
1

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

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

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

于 2015-12-14T21:02:30.890 回答