什么';在libGDX场景2d中,就用户界面而言,构建游戏中心/玩游戏类排行榜的最佳方式是什么?

什么';在libGDX场景2d中,就用户界面而言,构建游戏中心/玩游戏类排行榜的最佳方式是什么?,libgdx,scene2d,Libgdx,Scene2d,我正在尝试使用Scene2D为libGDX项目中的排行榜构建用户界面。 我的基准是谷歌游戏/游戏中心排行榜。有点像一个覆盖在现有的屏幕上,使用幻灯片刷新功能 我不知道如何更新已经渲染的Scene2D元素中的数据。 这就是我创建排行榜的方式。按下按钮时会调用下面的函数。现在,如何在刷新时更新下面呈现的排行榜表中的数据?当我尝试将排行榜类型从全球改为社交型,或将alltime改为上周时,同样的挑战也会出现 public Table getLeaderboard(com.myapp.models.Le

我正在尝试使用Scene2D为libGDX项目中的排行榜构建用户界面。 我的基准是谷歌游戏/游戏中心排行榜。有点像一个覆盖在现有的屏幕上,使用幻灯片刷新功能

我不知道如何更新已经渲染的Scene2D元素中的数据。 这就是我创建排行榜的方式。按下按钮时会调用下面的函数。现在,如何在刷新时更新下面呈现的排行榜表中的数据?当我尝试将排行榜类型从全球改为社交型,或将alltime改为上周时,同样的挑战也会出现

public Table getLeaderboard(com.myapp.models.Leaderboard[] leaderboards){
    Constants.printLog(TAG,"getLeaderboard function");
    //To check layout. Comment later
    Pixmap pm1 = new Pixmap(1, 1, Pixmap.Format.RGB565);
    pm1.setColor(Color.LIGHT_GRAY);
    pm1.fill();
    // Defining Tables
    final Table rootTable = new Table(); // Root table
    rootTable.setFillParent(true);
    Table navigationTable = new Table(); //Table to done/back button
    Table scoresTable = new Table(); //Table to to show scores



    //    Strings to be used
    String doneString = "done";
    TextButton doneButton = new TextButton(getString(doneString),skin,"default");

    navigationTable.add(doneButton);



    for(int i=0; i<leaderboards.length; i++){
      scoresTable.add(renderScoreRow(leaderboards[i].getName(),leaderboards[i].getHighscore())).expandX().fillX();
      scoresTable.row();
    }

    ScrollPane scoreScrollPane = new ScrollPane(scoresTable);




    rootTable.add(navigationTable).expandX().right().row();
    rootTable.add(scoreScrollPane).expandY().expandX().fillX();

    doneButton.addListener(new InputListener() {
      @Override
      public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
        rootTable.setVisible(false);
        rootTable.remove();
        return true;
      }
    });

    //    navigationTable.setDebug(true);
//    scoresTable.setDebug(true);
    rootTable.setBackground(new TextureRegionDrawable(new TextureRegion(new Texture(pm1))));

    return  rootTable;
  }
公共表格GetLeadboard(com.myapp.models.Leadboard[]排行榜){
printLog(标签,“getLeaderboard函数”);
//检查布局。请稍后评论
Pixmap pm1=新的Pixmap(1,1,Pixmap.Format.RGB565);
pm1.setColor(颜色:浅灰色);
pm1.fill();
//定义表
final Table rootTable=新表();//根表
rootTable.setFillParent(true);
Table navigationTable=new Table();//待完成表格/返回按钮
Table scoresTable=new Table();//显示分数的表格
//要使用的字符串
字符串doneString=“完成”;
TextButton doneButton=newtextbutton(getString(doneString),皮肤,“默认”);
navigationTable.add(doneButton);

对于(int i=0;i您需要重新创建表。在scene2d表中插入/编辑没有好方法