【发布时间】:2020-03-19 19:01:16
【问题描述】:
如何从TargetHit script 调用Score() 函数到UpdateUI? UpdateUI 会将分数显示到 Canvas。
下面是 2 个脚本的 sn-p。
TargetHit 脚本
void OnTriggerEnter(Collider collider)
{
if (collider.gameObject.tag == "Green")
{
AddScoreGreen();
}
else if (collider.gameObject.tag == "Yellow")
{
AddScoreYellow();
}
else
{
NoScore();
}
Destroy(collider.gameObject);
}
public int AddScoreGreen()
{
return ScoreIncrease + 100;
}
public int AddScoreYellow()
{
return ScoreIncrease + 50;
}
public int NoScore()
{
return ScoreIncrease = 0;
}
}
更新UI脚本
private readonly TargetHit targetHit;
// Update is called once per frame
void Update()
{
scoreGreen.text = targetHit.GetComponent<TargetHit>().AddScoreGreen().ToString();
playerLevelLabel.text = "Level 1";
timerLabel.text = FormatTime(GameManager.Instance.TimePassed);
}
private string FormatTime(float timeInSeconds)
{
return string.Format("Time: " + "{0}:{1:00}", Mathf.FloorToInt(timeInSeconds / 60), Mathf.FloorToInt(timeInSeconds % 60));
}
ScoreGreen() 方法使 Unity 停止,按下立即暂停的图标并且统一没有显示错误。
提前感谢您的帮助。
【问题讨论】:
标签: unity3d