0

我正在使用纹理打包器libgdx 纹理打包器

对于我的 libgdx 游戏。我也创建了包文件。现在我有一个 balloon_burst_pack.png 和一个
balloon_burst_pack.pack 文件。

唯一的事情是来自在线文档我无法弄清楚我应该如何从包文件中检索所有 15 个 png 图像。

我的图像名称类似于 balloon_color_0001.png、balloon_color_0002.png,我已将它们打包在一个 balloon_packed.png 中

我试过的小代码是:

 atlas = new TextureAtlas(Gdx.files.internal("Animations/balloon_color_pack/balloon_burst_pack.pack"));

   for (int i = 0; i< 15;i++ ) {

        region[i] = atlas.findRegion("balloon_colour"+"000"+i);
        System.out.println("region detected is"+region[i].getRegionX());
   }

任何使用相同纹理打包器的人请给我使用打包文件的参考。如果可能的话,请逐步解释我..

谢谢。

4

2 回答 2

0

当您使用Texture Packer工具并打包图像时,它的提供balloon_burst_pack.png文件及其相关的打包程序文件balloon_burst_pack.pack(例如)包含x并根据名称y在一个文件中协调所有图像。 例如,您可以找到in的坐标和大小。一旦你找到它的坐标和大小,你就可以按类得到它。balloon_burst_pack.png
xyballoon_color_0001.pngballoon_burst_pack.packTextureRegion

Texture balloonBrust = new Texture(Gdx.files.internal("path of your balloon_burst_pack.png file"));
TextureRegion baloon1Region = new TextureRegion(balloonBrust ,x coordinate ,y coordinate, width, height);

现在你可以使用SpriteBatch类来绘制它。

于 2014-01-12T15:32:09.563 回答
0

您的 png 名称的问题是纹理打包程序会在第一个 '_' 之后修剪所有名称,因此您必须将 png 的名称更改为诸如 ballooncolor_0001.png、ballooncolor_0002.png 等插入的 balloon_color_0001.png 等,然后使用 kumar saurabh 的代码加载所有文件

或者当前设置,您可以使用名称作为气球而不是 ballon_color

于 2013-08-27T06:41:11.970 回答