表格存在问题并更新标签!这里是困境,我在游戏中有一个销售按钮,每当他们出售物品时都更新玩家的硬币,那部分工作正常。我遇到的问题是尝试在屏幕上更新硬币值,并在此单独菜单中进行更新(请参阅附图中的左图硬币)。问题在于,硬币价值在另一个阶级的另一个阶段。这是因为当我点击底部的不同按钮时,我会在中间弹出不同的表格。我曾尝试使用辅助方法来进入和清除表格并更新它,然后将我发回到此项目页面,但它不起作用,我可以发布任何需要的代码,但这更多的是关于如何更新标签的一般问题在一个舞台的桌子里。Libgdx更新表格中的标签
更新:所以要有点总结一下我的问题,我有一个屏幕,我必须有它的三个表底部的表的左上角和右上角。然后,当他们按下库存或商店按钮等时,我将表格添加到中间的舞台上。我期望做的是保持项目页面打开,只需更新Coin标签的值,我知道我可以更改文本使用.setText();我只是不知道我怎么能更新屏幕等的部分..
更新2:如果我只是将屏幕回到这个屏幕的新屏幕将更新硬币的价值,但我就不是上该项目页面不再理想。
更新3:感谢您的帮助迄今家伙,@约翰你的答案是超级有帮助以及。我仍然没有得到这个工作,虽然这是一些标签正在处理的代码。
playerCoinLabel = new Label(playerSave.getCoinsString(),skin,"defaultMiddle");
这是它被添加到表格中的位置。
tableLeft = new Table(skin);
stage.addActor(tableLeft);
tableLeft.setBounds(0,0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
tableLeft.setFillParent(true);
tableLeft.top().left();
tableLeft.add(healthNonButton).size(84,80).left().padLeft(10).padTop(5);
tableLeft.add(playerHealthLabel).left().padLeft(15);
tableLeft.row();
tableLeft.add(levelNonButton).size(74,70).center().padLeft(10);
tableLeft.add(playerLevelLabel).left().padLeft(19);
tableLeft.row();
tableLeft.add(coinNonButton).size(74,70).center().padLeft(10);
tableLeft.add(this.playerCoinLabel).left().padLeft(15); //This line
tableLeft.row();
然后,我必须使用的setText像你这样的家伙们告诉我更新我的标签此方法。
public void updatePlayerCoins() {
playerCoinLabel.setText(playerSave.getCoinsString());
}
,如果我在任何地方调用这个方法,使()或者IM设置新的硬币值,则没有更新/更换的标签,我的屏幕左上方。如果我需要发布涉及标签的东西,我可以将所有代码发布到github上。这只是一个项目,我正在努力提高我的技能,所以对不起,如果我听起来业余,这是因为我!
谢谢大家!
尝试发布您的代码,让我们来看看导致NullPointerException异常 – Sparcsky
我可以张贴代码,但我这样做之前有一个简单的方法,只是更新表什么的单个细胞?我试过了一个更改监听器,但它没有工作? @Ian – johnnyboy5566
简单的方法是在该标签上调用'setText'。如果它没有自动更新屏幕上的布局,则代码有问题。 – Tenfour04