在libgdx UI中设置复选框图像的大小

Ale*_*drs 6 java checkbox game-engine libgdx

我无法弄清楚如何管理复选框图像大小.当然,可以在我的纹理图集中创建不同大小的图像并采取适当的图像,但我不想这样做.

这是我的代码:

AtlasRegion checkboxOn = AssetsHelper.textures.findRegion("checked");
AtlasRegion checkboxOff = AssetsHelper.textures.findRegion("unchecked");
CheckBoxStyle checkBoxStyle = new CheckBoxStyle();
checkBoxStyle.font = AssetsHelper.font66yellow;
checkBoxStyle.checkboxOff = checkboxOff;
checkBoxStyle.checkboxOn = checkboxOn;
CheckBox cbSound = new CheckBox(" Sound", checkBoxStyle);
Run Code Online (Sandbox Code Playgroud)

cbSound对象没有这样的方法来重新定义复选框的图像,但是有方法getImage(),但似乎它也不起作用.这不起作用:

cbSound.getImage().width = 120;
cbSound.getImage().height = 120;
Run Code Online (Sandbox Code Playgroud)

仅供参考:例如,当我想绘制图像时,我确实喜欢这样:

batch.draw(textureRegion, 0, 0, widthIwant, heightIwant);
Run Code Online (Sandbox Code Playgroud)

但是在CheckBox类中只覆盖了这个(没有设置宽度和高度):

public void draw (SpriteBatch batch, float parentAlpha) {
    image.setRegion(isChecked ? style.checkboxOn : style.checkboxOff);
    super.draw(batch, parentAlpha);
}
Run Code Online (Sandbox Code Playgroud)

问题:如何更改复选框图像的宽度和高度?

提前致谢.

Pin*_*irl 8

libgdx小部件使用drawable来绘制图像.drawable会自动缩放以适合它所在的单元格.因此,为了更改图像大小,请更改单元格大小:

cbSound.getCells().get(0).size(widht, height);
Run Code Online (Sandbox Code Playgroud)

为了获得更好的效果,您应该为drawable使用九个补丁.