Unity3D碰撞的奇怪行为
本文关键字:碰撞 Unity3D | 更新日期: 2023-09-27 18:27:45
这段代码一定有问题,因为我先将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 ();
}
}
score+=10在您运行的代码中是这样的吗?如果是,则需要在If语句中。然后,您需要使记分网成为一个变量,现在有两种类型,TextMesh
和ScoreMesh
,但没有变量,所以使其成为一种类型和一个变量。然后用whatever.text
替换ScoreMesh.text