UI文本在onClick函数后不会更改

时间:2015-12-17 22:19:34

标签: c# user-interface button text unity3d

我在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;
    }
}


1 个答案:

答案 0 :(得分:-1)

我已经解决了问题,Text也在每个帧速率(Update())下以相同的值进行更新。所以我对上面脚本中的值所做的更改只发生了1帧,我没有注意到。