我正在和一个朋友一起做一个小游戏,我们遇到了一个非常烦人的精灵表和纹理问题......现在我们只是使用 Slick2D 的纹理加载器,我们甚至尝试了他们的 SpriteSheet,但没有运气。我们真正需要的只是一个自定义的纹理加载器,或者你可以调用它来加载一个大纹理,将其分解为更小的纹理,并将新的更小的纹理保存到一个数组中。如果您知道一个可以提供帮助的网站,或者只是粘贴您的代码,那就太好了,谢谢!
问问题
438 次
1 回答
0
在我的一个项目中,我对下面的代码很幸运。我碰巧将纹理保存在单个文件中,但它似乎没有问题。
如果你想加载一张大图,你可以用同样的方法,然后用Image 类的subImage 方法把它切成小块。请注意,文档中提到,任何子图像“保留对 [原始] 图像数据的引用,因此如果 [在父图像中] 发生任何变化,它也会影响子图像。”
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");
}
于 2011-09-14T02:15:14.103 回答