我正在尝试制作一个游戏,你可以对敌人造成伤害并且可以造成伤害。我想在有人受到攻击时展示自己的健康状况。这就是我所拥有的:
TextView playerhealth = (TextView) findViewById(R.id.PlayerHealth);
playerhealth.setText("Player Health:" + player_health);
TextView enemyhealth = (TextView) findViewById(R.id.EnemyHealth);
enemyhealth.setText("Enemy Health:" + enemyone_health);
然而,当损坏完成时,文本不会更新,我不知道如何解决这个问题。有人可以帮忙吗?
答案 0 :(得分:1)
您似乎在找到TextView后立即设置文本,这意味着您立即覆盖原始值。
你需要找到TextView,然后做一些损害你的玩家/敌人的事情,然后用你剩下的新值更新TextView。
尝试设置一个值,然后暂停几秒钟,然后将其应用到TextView,看看是否有帮助。
答案 1 :(得分:0)
在变量值更改后立即将文本设置为文本视图
像:
player_health = 您对变量的操纵然后
playerhealth.setText("Player Health:" + player_health);
enemyone_health = 您对变量的操纵然后
enemyhealth.setText("Enemy Health:" + enemyone_health);
答案 2 :(得分:0)
更新TextView后尝试:
findViewById(R.id.PlayerHealth).invalidate(); // May not be necessary
findViewById(R.id.PlayerHealth).requestLayout();
然后在更新TextField后再次为敌方健康做这件事。