【发布时间】:2015-05-20 14:44:28
【问题描述】:
我对编程和为学校作业做一个简单的赛车游戏还比较陌生。我以前从未使用过 Unity 或 C#,遇到过一个问题,如果有人能帮助我,我将不胜感激。
所以我用 GUI 文本区域显示时间和圈数,这工作正常。但是我也希望随着汽车到达我的检查站而增加圈数,但是它不起作用。当我玩游戏时,当我点击检查点时,它仍然在 GUI 文本区域中显示“Laps: 0”,即使它应该显示“Laps: 1”。
我认为也许我必须在 void Update() 中做一些事情,但我不知道是什么。我已经尝试了很多不同的方法,但到目前为止,没有任何效果。
public float timeLeft = 150f;
public int laps = 0;
void Update()
{
timeLeft -= Time.deltaTime;
}
void OnGUI()
{
GUI.TextArea (new Rect (10, 10, 150, 20), "Time left: " + timeLeft + "\nLaps: " + laps);
}
void OnTriggerEnter (Collider other)
{
if (other.gameObject.tag == "Checkpoint")
{
laps = laps + 1;
}
}
希望比我更有知识的人能够帮助解决这个问题。
【问题讨论】:
标签: c# user-interface unity3d textarea