Сохранить размер таблицы, но изменить размер актера libgdx - PullRequest
0 голосов
/ 29 декабря 2018

Как сохранить размер моего актера в таблице, но размер таблицы остался прежним?Я попытался установить высоту для таблицы, но не повезло.

до изменения изображения актера, таблица выглядит так:

initial table size

послеизменение изображения актера, нежелательных отступов и таблицы изменяется автоматически:

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 голосов
/ 29 декабря 2018

Измените

eggList.add(egg);

на

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

, чтобы зафиксировать высоту ячейки.

...