java - 在 Slick2D 中使用具有不同大小 Sprite 的 Sprite 表

标签 java slick2d sprite-sheet

我在 API 中搜索了 SpriteSheet ,但我找不到任何关于如何制作具有不同大小 Sprite 的 Sprite 表的信息。

我使用的 Sprite 表有一行 16x16px 的图 block ,下面有一行 24x24px 的图 block ,下面有一行 8x8px 的图 block ,依此类推。

最初,我没有使用 Slick2D,而是使用 BufferedImage.getSubimage() 从 Sprite 表的临时 BufferedImage 中获取每个 Sprite 。这里有类似的方法可以使用吗?

最佳答案

我认为在当前版本的 API 中没有办法直接生成子图像,至少在撰写本文时是这样。

但是,我可以想到三种可能的选择(除了自己添加上述方法调用的选项之外 - 毕竟是 open source):

  1. 如果您确实想将它们保留在同一个源文件中,您可以从同一源 Image 实例化多个 SpriteSheet 对象,每个 Sprite 大小对应一个对象。<
  2. 您可以获取 Image 实例,并在其上调用 getSubImageImage 拆分为三张图像,每种尺寸 (24x24 、16x16 等)。然后,从这些子图像中实例化 SpriteSheets
  3. 您可以根据大小将源文件拆分为单独的文件。也就是说,将 24x24 Sprite 单元放在一个文件中,将 16x16 Sprite 单元放在另一个文件中,依此类推。

关于java - 在 Slick2D 中使用具有不同大小 Sprite 的 Sprite 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9422012/

相关文章:

java - 如何打印字符数组中的字符而不重复?

java - 从 Java BitSet 中随机选择 n 位中的 k 位

java.lang.NoSuchMethodError : getPointer

java - 为什么 Slick2d 点不与矩形相交?

java - 正在加载 rds-combined-ca-bundle.pem。来自AWS lambda java中的资源文件夹

java - 使用 Dagger 和 AWS Lambda 进行单元测试

java - 如何使用Java正确压缩和转换TiledMap数据?

javascript - 如何在 javascript 中减慢 spritesheet 动画的速度?

javascript - 用照片填充固定尺寸的 div

java - 我怎样才能使用我的 Sprite 强制 gwt?