代码之家  ›  专栏  ›  技术社区  ›  Frankey

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

  •  1
  • Frankey  · 技术社区  · 7 年前

    如何在一张桌子上保持我的演员尺寸,但保持桌子尺寸不变? 我试着把桌子调高,但没有成功。

    在更改actor image之前,表如下所示:

    initial table size

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

    after actor size change

    我希望有这样的东西:

    wish arrangement

    我试过之后得到这个

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

    enter image description here

    如何保持桌子的大小?我希望brokenDino能在不改变桌子大小的情况下与其他鸡蛋重叠。

    我的表创建代码如下:

     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是图像的扩展类,breakOut函数只是更改其他可绘制的图像并调整图像本身的大小:

     setDrawable(eggDinoDrawable);
        setSize(eggDino.getWidth(),eggDino.getHeight());
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   MrStahlfelge    7 年前

    改变

    eggList.add(egg);

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

    固定单元格的高度。