对于我正在制作的游戏,我将地图中的所有精灵存储在一个大(呃)图像中。我希望能够为包含所有精灵的较大图像内的每个图像创建一个Image
的实例。
那么如何从另一个Image
的设定位置创建Image
的实例。
答案 0 :(得分:1)
因为你正在使用java.awt.Image-class我猜你正试图用AWT创建一个合理的游戏?你真的应该看一下像http://en.wikipedia.org/wiki/Java_OpenGL这样的不同技术。您遇到的问题(对精灵表进行分区)是很多其他问题(轮换......)的典型问题,如果您尝试开发没有类似 Open-GL的游戏,您将遇到这种问题
只考虑手头的问题:你可以通过将整个精灵表格绑定为纹理(glBindTexture())并为每个glVertex()赋予glTexCoord2f()来轻松解决这个问题,无需剪切精灵表的部分内容。
答案 1 :(得分:1)
基本解决方案(如果tileheet中的所有切片具有相同的大小)是使用类getSubimage(xpos, ypos, XSIZE, YSIZE)
中的BufferedImage
方法。
否则,您必须在另一个文件中存储所有精灵的一组位置和大小。
您的问题类似于this其他人的问题。