Unity变量需要在多个游戏对象的同一脚本中解决

时间:2015-09-26 15:53:09

标签: c# unity3d

我有一个附加到4个游戏对象的脚本,它有一个触发器并在对撞机正确通过触发器时添加分数。它确实更新了分数,但更新了4个单独的分数(分数变量的4个实例。我需要统一更新所有4个游戏对象的分数。

这是我的代码

bool isDead;
private int score;

// Use this for initialization
void Start () {
    isDead = false;
    score =0;

}


void OnTriggerEnter2D (Collider2D other){
    if (other.gameObject.name.ToLower () == this.name) {
        Debug.Log ("you won");
        score = score+1;
        GameObject.Find("ScoreText").GetComponent<Text>().text = score.ToString();
    } 
    else {
        Debug.Log ("you lose");
        isDead = true;
        Application.LoadLevel(Application.loadedLevel);
    }
    Destroy (other.gameObject);
}

1 个答案:

答案 0 :(得分:0)

您有两个选择:

  • 将字段分数设为静态。

  • 创建用于管理分数的新课程。