我在CANVAS 1中有一个名为Total Points Text的UI文本,在CANVAS 2中有一个Image。 按钮组件附加到图像,以便在触摸时,图像被破坏,并应更改总点文本中的文本。
问题是,调用onClick of Image的函数,但是Total Points Text中的Text不会改变。
奇怪的是,当我移动将Text更改为Image的Start()的行时,Text确实会发生变化...... 另一个奇怪的事情是我用我的目标脚本(附加到我的角色的那个)改变了总点数文本几次并且它工作正常。也许这个问题来自于按钮onClick?
这是我的代码:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class twohundredPTSScript : MonoBehaviour
{
public Image TWOHundredpointsImage;
public Text TotalPointsText;
public void Purchase200()
{
int totalpoints = ballscript.TotalPoints;
if(totalpoints >= 200)
{
Destroy(TWOHundredpointsImage); // CALLED
totalpoints = totalpoints - 200; // CALLED
Debug.Log(totalpoints); // CALLED
Debug.Log("Item bought !"); // CALLED
TotalPointsText.text = "Total points: " + totalpoints.ToString(); // THIS ISN'T CALLED OR ISN'T WORKING.
}
else
{
Debug.Log("Not enough points !");
}
ballscript.TotalPoints = totalpoints;
}
}
答案 0 :(得分:-1)
我已经解决了问题,Text也在每个帧速率(Update())下以相同的值进行更新。所以我对上面脚本中的值所做的更改只发生了1帧,我没有注意到。