开发者社区> 问答> 正文

unity3d c#调用脚本报错 ?报错

using UnityEngine;
using System.Collections;

public class Destorybycontact : MonoBehaviour {
public GameObject explosion;
public GameObject playerexplosion;
public int score1;
private Gamecontrol game;

void start()
{
    GameObject gamecontrolobject = GameObject.FindWithTag("GameController");
    if (gamecontrolobject != null)
    {
        game = gamecontrolobject.GetComponent<Gamecontrol>();
    }
    if(gamecontrolobject == null)
    {
        Debug.Log("can't find 'Gamecontrol' scipt");
    }
}

void OnTriggerEnter(Collider other)
{
    if (other.tag == "boundary")
    { return; }
    Instantiate(explosion, transform.position, transform.rotation);
    if (other.tag == "Player")
    {
        Instantiate(playerexplosion, other.transform.position, other.transform.rotation);
    }
    game.addScore(score1);
    Destroy(other.gameObject);
    Destroy(gameObject);
}

}

报错NullReferenceException: Object reference not set to an instance of an object。显示这个是空值game.addScore(score1);。也不知道为什恶魔,求解

展开
收起
爱吃鱼的程序员 2020-06-23 00:34:48 605 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    你应该这么写吧

    GameObjectgamecontrolobject=GameObject.FindWithTag("GameController");if(gamecontrolobject!=null){game=gamecontrolobject.GetComponent<Gamecontrol>();game.addScore(score1);}elseDebug.Log("can'tfind'Gamecontrol'scipt");

    你都不能确定game得到有效赋值,你就给加力明显不对的

    我是渣渣你试试下面这个

    voidstart(){}voidOnTriggerEnter(Colliderother){if(other.tag=="boundary"){return;}Instantiate(explosion,transform.position,transform.rotation);if(other.tag=="Player"){Instantiate(playerexplosion,other.transform.position,other.transform.rotation);}GameObjectgamecontrolobject=GameObject.FindWithTag("GameController");if(gamecontrolobject!=null){game=gamecontrolobject.GetComponent<Gamecontrol>();game.addScore(score1);}elseDebug.Log("can'tfind'Gamecontrol'scipt");Destroy(other.gameObject);Destroy(gameObject);}

    空指针,找一下报错的地方的代码,看一下什么东西没找到,这种小问题,好解决

    2020-06-23 00:35:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
15分钟打造你自己的小程序 立即下载
小程序 大世界 立即下载
《15分钟打造你自己的小程序》 立即下载