如何在不使用texturepacker的情况下将图像添加到Libgdx中的文本按钮?

时间:2014-10-12 20:31:34

标签: libgdx

您好我正在使用libgdx开发Android游戏。我使用默认的uiskin atlas和json文件创建了我的主菜单按钮。问题是我不完全了解如何从当前默认的灰色颜色更改按钮图像。例如,我为退出按钮创建了退出图像,但如何将该图像添加到主菜单中的退出按钮?我已经从我的主spritesheet创建了退出图像的textureregion,但找不到任何允许我将它附加到按钮的东西。谢谢

到目前为止,这是我的代码

Skin skin = new Skin(Gdx.files.internal("data/ui/uiskin.json"));

exit = new TextButton("Exit",skin);
            exit.setPosition(0,0);
            exit.setSize(60, 60);

              stage.addActor(exit);
              exit.addListener(new ClickListener() {
                  @Override
                  public void clicked(InputEvent event, float x, float y) {
                      System.exit(0);
                  }
              });

1 个答案:

答案 0 :(得分:1)

我建议在Skins,Textures和Scene2d中挖掘一下。请参阅StackOverflow中的other questionthis one,它们提供了有关皮肤是什么以及如何使用它的一些说明。

皮肤包含您可以使用的所有drawable的定义以及字体和其他内容。如果要使用Texture Packer修改皮肤,只需修改图像文件,然后更改指定区域的JSON即可。使用Texture Packer可以获得以下优势:

  1. 在单独的文件中为每个区域设置单个图像
  2. 使用正确的位置和大小信息自动创建JSON文件
  3. 通过旋转图像和各种算法有效地存储图像PNG图像以减少未使用的空间
  4. 可以找到更多介绍:hereLibgdx wiki或此quick tutorial

    在默认皮肤的情况下,它被称为:uiskin.json并且“指向”TexturePack图像uiskin.png。当您打开png文件时,您将找到json文件中定义的所有区域。