为什么我的桌子和背景没有正确扩展LibGDX?

时间:2014-02-12 01:54:02

标签: libgdx

我有一张用于绘制我添加到舞台背景的图像。由于某种原因,底部有一个小空间 - 它没有正确布局

见附图。我绘制背景黄色以使其更加明显。为什么不将背景一直扩展到底部?

@Override
public void show() {
    cam = new OrthographicCamera(Helper.RESOLUTION_WIDTH, Helper.RESOLUTION_HEIGHT);
    cam.position.set(Helper.RESOLUTION_WIDTH / 2, Helper.RESOLUTION_HEIGHT / 2, 0);
    stage = new Stage(Helper.RESOLUTION_WIDTH, Helper.RESOLUTION_HEIGHT, true);
    stage.setCamera(cam); // !IMPORTANT

    Image img = new Image(Assets.background);
    img.setFillParent(true);
    img.setSize(Helper.RESOLUTION_WIDTH, Helper.RESOLUTION_HEIGHT);
    stage.addActor(img);
    Table table = new Table(skin);
    table.debug();
    table.setBounds(0, 0, Helper.RESOLUTION_WIDTH, Helper.RESOLUTION_HEIGHT);
    table.setFillParent(true);
    /* add all the menu items to table */
    stage.addActor(table);
}

RESOLUTION_WIDTH = 800 RESOLUTION_HEIGHT = 1280;

enter image description here

1 个答案:

答案 0 :(得分:0)

我弄清楚为什么会划出这个边界: 我完全忽略了,我实现了resize方法并且使用缩放做了一些奇怪的事情。

 cam.viewportHeight = height; //set the viewport
 cam.viewportWidth = width; 
 if (Helper.RESOLUTION_WIDTH / cam.viewportWidth < Helper.RESOLUTION_HEIGHT / cam.viewportHeight)
 {
    //set the right zoom direct
    cam.zoom = Helper.RESOLUTION_HEIGHT / cam.viewportHeight;
 } else {
     //set the right zoom direct
     cam.zoom = Helper.RESOLUTION_WIDTH / cam.viewportWidth;
 }
 cam.update();

将resize函数保留为默认实现可以解决问题。 谢谢,Pranav008虽然提供了所有帮助!