【问题标题】:LibGDX how to make a buttons size independent of imageLibGDX如何使按钮大小独立于图像
【发布时间】:2018-11-12 17:23:49
【问题描述】:

在 LibGDX 中将图像添加到 TextButton 时,我如何将按钮与图像的内容相匹配。目前,当我设置大小时,图像会缩小以适合按钮,这会在按钮边缘和图像内容之间留下很大的间隙(请参阅从绿色调试边框到按钮图像边缘的距离)。

我希望能够设置按钮的大小以匹配图像的内容,以便忽略图像周围的空白区域。我可以从图像中裁剪出空白区域,但由于阴影的原因,图像会偏离中心,因此希望避免这种情况。

上图显示了游戏中显示的 dutton,包括绿色的调试按钮边框。底部图像显示带有空白区域的源图像。

TextButton.TextButtonStyle buttonStyle = new TextButton.TextButtonStyle();
buttonStyle.font = FontLoader.uiFont;
buttonStyle.up = new SpriteDrawable(new Sprite(assetManager.get(UISpriteLoader.SPRITE_UI_TAMING_BUTTON_BASE, Texture.class)));
buttonStyle.down = new SpriteDrawable(new Sprite(assetManager.get(UISpriteLoader.SPRITE_UI_TAMING_BUTTON_PRESSED, Texture.class)));
buttonStyle.over = new SpriteDrawable(new Sprite(assetManager.get(UISpriteLoader.SPRITE_UI_TAMING_BUTTON_HOVER, Texture.class)));
tameButton = new TextButton("Tame", buttonStyle);
tameButton.setPosition(1470, 1080-330-80);
tameButton.setSize(250, 80);
stage.addActor(tameButton);

【问题讨论】:

    标签: libgdx


    【解决方案1】:

    为您的图像使用 Ninepatch。它将缩放以填充开箱即用的按钮。

    我建议您使用Skin Composer 来制作 Ninepatches 和创建 Scene2d 皮肤,这样您就不必在代码中创建样式。

    【讨论】:

    • 好主意,但我不认为我可以在九个补丁中重新创建边框渐变。
    猜你喜欢
    • 1970-01-01
    • 2014-05-12
    • 2015-10-20
    • 1970-01-01
    • 2020-06-01
    • 2013-03-28
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多