保持表大小,但更改参与者大小libgdx

时间:2018-12-29 09:27:02

标签: libgdx

如何在表格中保持演员大小,但又保持表格大小不变? 我尝试将桌子的高度设置为高,但是没有运气。

在更改演员图像之前,该表如下所示:

initial table size

更改actor的图像后,不需要的填充和表格会自动调整大小:

after actor size change

我希望有这样的东西:

wish arrangement

尝试后得到这个

table.add(egg).height(egg.getprefHeight());

enter image description here

如何保持表格大小?我希望不改变桌子大小的情况下,把不折不扣的恐龙与其他鸡蛋叠在一起。

我的表创建代码如下:

 for(int i=0;i<20;i++)
     {
         Egg egg = new Egg(textureAtlas.findRegion("egg"),textureAtlas.findRegion("eggDino"), 0.5f);
         egg.addListener(ck);
         eggList.add(egg);
         if(i%4==0)
         {
             table.row();
         }
         table.add(egg).size(egg.getPrefWidth(),egg.getPrefHeight());
         if(i==19)
         { 
             table.pack();
            table.setHeight(755);
            table.setOrigin(Align.bottom);
            table.debug();
         }
     }

我正在更改的图像代码:

  for (Egg egg: eggList) {
        if(!egg.isBroken()){
            egg.breakOut();
            table.getCell(egg).size(egg.getPrefWidth(),egg.getPrefHeight());
            table.setHeight(755);
            break;
        }

egg是Image的扩展类,breakOut函数只是更改其他可绘制对象并调整图像本身的大小:

 setDrawable(eggDinoDrawable);
    setSize(eggDino.getWidth(),eggDino.getHeight());

1 个答案:

答案 0 :(得分:1)

更改

eggList.add(egg);

eggList.add(egg).height(egg.getPrefHeight);

确定单元格的高度。