Java LWJGL自定义纹理

时间:2011-09-14 02:08:03

标签: java textures lwjgl slick2d

我正和一位朋友一起做一个小游戏,我们遇到了一个非常讨厌的精灵表和纹理问题...现在我们只是使用Slick2D的纹理加载器,我们甚至尝试了他们的SpriteSheet但没有运气。我们真正需要的只是一个自定义纹理加载器或任何你可以称之为加载大纹理,将其分解为更小的纹理,并将新的较小纹理保存为可能的数组。如果您知道某个网站可以提供帮助,或者只是粘贴您的代码,那就太棒了,谢谢!

1 个答案:

答案 0 :(得分:0)

我对one of my projects中的代码运气不错。我碰巧将纹理保存在单个文件中,但似乎没有问题。

如果您要加载一张大图片,可以采用相同的方式进行加载,然后使用subImage methodImage class将其整理成碎片。请注意,文档提到,任何子图像“保留对[原始]图像数据的引用,因此如果[父图像]发生任何变化,它也会影响子图像。”

import org.newdawn.slick.Image;

...whatever code you've got...

/** Loads the image resources needed for the game.
*
* @throws SlickException if there is a problem loading one of the images
*/
public void loadImageResources() throws SlickException {
  images = new Image[6];

  images[0] = new Image("images/controls/play.png");
  images[1] = new Image("images/controls/pause.png");
  images[2] = new Image("images/tiles/stone.png");
  images[3] = new Image("images/peds/ped.png");
  images[4] = new Image("images/peds/ped_add.png");
  images[5] = new Image("images/peds/ped_remove.png");
}