Unity3D碰撞奇怪的行为

时间:2015-12-23 00:36:49

标签: c# unity3d

这段代码肯定有问题,因为我首先将Debug.Log放入碰撞中,以确保它有效并且完美运行。问题是得分不规则地起作用,有时增加20,有时减少20,有时保持不变。我必须犯一些我无法看到的愚蠢错误。

public int score = 0;

void OnCollisionEnter (Collision col)
{
    if(col.gameObject.name == "Plane")
    {
//On collision, add 10 to score, access text, change text to score. 
score += 10;
    TextMesh ScoreMesh = GameObject.Find("Score").GetComponent<TextMesh>();
        ScoreMesh.text = score.ToString ();
    }
}

1 个答案:

答案 0 :(得分:0)

得分+ = 10就像您运行的代码中的那样?如果是这样,它需要在if语句中。然后你需要让scoremesh成为一个变量,现在你有两种类型,TextMeshScoreMesh,没有变量,所以把它变成一种类型和一个变量。然后,您将ScoreMesh.text替换为whatever.text