Libgdx集团规模问题

时间:2014-10-13 21:41:11

标签: libgdx size

为了使我的问题更清楚,我创建了一个简单的测试类,如下所示。

`public void create () {
    stage = new Stage();
    // GP
    Texture texture1 = new Texture(Gdx.files.internal("data/badlogic.jpg"));
    TextureRegion tr = new TextureRegion(texture1);
    Image image = new Image(tr);
    Group gp = new Group();
    ImageButton ib = new ImageButton(new Image(tr).getDrawable());
    ib.setSize(90, 256);
    gp.addActor(ib);
    gp.setPosition(0, 0);
    stage.addActor(gp);
    gp.debugAll();
}`

badlogic徽标的大小为256 * 256。我在测试中将其设置为90 * 256.但结果如下http://imgsrc.baidu.com/forum/w%3D580/sign=fb0e4402d21373f0f53f6f97940e4b8b/0958c32397dda1448779b0cbb1b7d0a20df486e2.jpg 如果我在将图像大小发送到图像按钮之前设置图像大小,那么它将呈现为256 * 256,即完整的原始大小。这个功能很简单。我无法弄清楚哪里出了问题。

1 个答案:

答案 0 :(得分:0)

首先,Libgdx项目的上次更新是1.4.1:http://libgdx.badlogicgames.com/download.html

问题是您要发送到ImageButton的Drawable对象,如果要在将图像或纹理添加到ImageButton之前更改图像或纹理的大小(这样您将解决问题),您将只需要使用.setBounds()方法

我写下了一个小例子:

<强> 1。使用图像文件初始化Image对象:

`Image image = new Image( new Texture ( Gdx.Files.internal("yourPathFile.png") ) );`

<强> 2。 .setBounds()javadoc :( x坐标,y坐标,图像宽度,图像高度)

image.setBounds(0f, 0f, 50f, 60f) 
  1. 然后您可以将图像作为Drawable 发送到ImageButton对象。 `ImageButton myButton = new ImageButton(image.getDrawable());'
  2. 这就是全部。

    这里有一些来自Libgdx官方javadoc的ImageButton对象的构造函数。

    Libgdx ImageButton Constructors javadoc

    另见: