Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取组件错误Unity3d C#_C#_Unity3d_Game Engine - Fatal编程技术网

获取组件错误Unity3d C#

获取组件错误Unity3d C#,c#,unity3d,game-engine,C#,Unity3d,Game Engine,这是我的脚本,我一直得到空引用异常,但我不知道该怎么做?我在哪里分配什么 using UnityEngine; using System.Collections; public class CurrencyManagment : MonoBehaviour { public int Coins; public CreditPlayer CreditPlayerScript; void Start () { CreditPlayerScript = GetComponent<C

这是我的脚本,我一直得到空引用异常,但我不知道该怎么做?我在哪里分配什么

using UnityEngine;
using System.Collections;

public class CurrencyManagment : MonoBehaviour {

public int Coins;
public CreditPlayer CreditPlayerScript;

void Start ()
{
    CreditPlayerScript = GetComponent<CreditPlayer>();

}

void Awake()
{
    CreditPlayerScript = GetComponent<CreditPlayer>();

}

void Update ()
{
    Coins = CreditPlayerScript.CoinsTempContainer;

}
}
使用UnityEngine;
使用系统集合;
公共类货币管理:单一行为{
公共货币;
公共CreditPlayer CreditPlayerScript;
无效开始()
{
CreditPlayerScript=GetComponent();
}
无效唤醒()
{
CreditPlayerScript=GetComponent();
}
无效更新()
{
Coins=CreditPlayerScript.CoinsTempContainer;
}
}

您似乎没有将
CreditPlayer
脚本附加到与
CurrencyManager
相同的游戏对象上。只需将脚本拖放到游戏对象(游戏停止,不运行)


您还可以通过添加一个
RequireComponent
属性以编程方式执行此操作,该属性将自动添加您指定的所有脚本。看一看。

你确定你确实有一个
CreditPlayer
组件附加到使用
CurrencyManagement
的对象吗?@我是否有一个名为credit player的脚本,如启动函数CreditPlayerScript=GetComponent()中所述;该行分配了它,但没有发送它??不,该行检索已附加到该对象的组件。@wiz3kid那么我需要做什么?我有点困惑抱歉??好的,但现在硬币被销毁时,两个脚本都会随之执行。我需要玩家运行到硬币和货币管理脚本存储在别处,以便货币管理脚本不会与硬币一起销毁@Roberto@user3682512在这种情况下,您需要将CurrencyManagement设置为常规全局类,而不是组件。@user3682512是的wiz3kid是正确的。谷歌“单身”,这就是你需要的。