使用LWJGL和Slick2d,如何加载大图像(精灵表)并将其存储到较小的图像中?

时间:2011-12-19 01:34:58

标签: lwjgl slick2d

我做了一些基本的东西,我可以在屏幕上平铺瓷砖,我可以在屏幕上显示透明纹理,但我似乎找不到任何关于从更大的精灵加载精灵的文档片材。

如何将图像切成小图像?或者有不同的方法吗?

1 个答案:

答案 0 :(得分:4)

Slick中有SpriteSheet class就是这样。

Slick中的SpriteSheets是由一系列大小均匀的瓷砖组成的大图像。每个图块通常是Sprite中的动画帧。在SpriteSheet构造函数中,指定图像(包含所有图块),图纸中图块的宽度/高度,以及任何间距和边距(如果您有/需要)。

最后,getSprite(x, y)方法允许您检索指定的图块,就好像它是2D数组中的元素一样。换句话说,如果你有一个SpriteSheet的16个图块,它们排列在一个4x4的图块网格中,那么要获得第3列第2行的图块,你可以调用getSprite(3, 2);

我认为getSprite(x, y)中的索引是从零开始的,就像Java中的数组一样。