2017-04-21 7 views
0
public static void showHs(boolean remove){ 
    if(remove){ 
     table.getCell(hsLabel).getActor().setVisible(true); 
     table.getCell(hsLabel).getActor().setWidth(labelsWidth); 
    }else { 
     table.getCell(hsLabel).getActor().setVisible(false); 
     table.getCell(hsLabel).getActor().setWidth(0); 
    } 
} 

setVisible()はアクタを削除しません。remove()を使用しても、同じ場所にアクターを永久に持ち込むことはできません。 Visibility.GONEのようなメソッドはありますか?私はここで検索して終了しました。一時的にscene2d内のアクターを削除する方法

答えて

0
public static void showHs(boolean remove){ 
    if(remove){ 
     table.getCell(hsLabel).getActor().setVisible(true); 
     table.getCell(hsLabel).getActor().setWidth(labelsWidth); 
     table.getCell(hsLabel).expandX(); 
    }else { 
     table.getCell(hsLabel).getActor().setVisible(false); 
     table.getCell(hsLabel).getActor().setWidth(0); 
     table.getCell(hsLabel).width(0); 
    } 
} 

は、セルに0の幅を設定することで働い、多分適切な方法ここで

0

があり、テーブル内のあなたの役者を作成する方法についての簡単なアプローチは、可視性を設定しています。アクターの幅をゼロに設定して、それを「消える」ようにする必要はありません。

の2番目のパラメータにはが含まれています.ID、trueの場合は==比較が使用されます。 falseの場合、.equals()の比較が使用されます。 配列に値が含まれている場合はtrue、そうでない場合はfalse。

public static void showHs(boolean visible,Actor yourActor){ 
     if(table.getChildren().contains(actor,true){ 
       actor.setVisible(visible); 
     } 
    } 
関連する問題