以统一的方式访问来自不同脚本的函数C#

时间:2015-04-06 03:52:26

标签: unity3d

我对团结比较陌生,我试图在游戏中制作收藏品,但我需要记录收集了多少物品但仍然收集的物品消失了。到目前为止,我有这个。是的,收藏品是发胶:p

Collection.cs

using UnityEngine;
using System.Collections;

public class Collection : MonoBehaviour {

public control controlSrc;


void OnTriggerEnter () {
    controlSrc.AddScore();
    killHairSpray();
}


void killHairSpray () {
    Destroy(gameObject);
}

}

control.cs

using UnityEngine;
using System.Collections;

public class control : MonoBehaviour {

public int hcTot = 0;

public void AddScore () {
hcTot = hcTot + 1;
Debug.Log("Working");
}
}

我不确定它为什么不起作用,但控制台说;

NullReferenceException:未将对象引用设置为对象的实例 Collection.OnTriggerEnter()(在Assets / Collection.cs:10)

谢谢:)这让我疯狂!

1 个答案:

答案 0 :(得分:0)

您很可能没有将任何内容连接到controlSrc变量,因此它是空的。因此空引用异常。

在Unity编辑器中,选择带有Collection.cs脚本的GameObject,然后在Inspector中设置controlSrc(很可能列为“Control Src”),方法是指定包含control.cs脚本的游戏对象。