unity 3D 实例化问题?
我想检测两个小块碰撞,然后传递信息,代码如下:voidOnTriggerEnter(Collidercol){if(col.gameObject.tag=="Player...
我想检测两个小块碰撞,然后传递信息,代码如下:
void OnTriggerEnter(Collider col)
{
if (col.gameObject.tag == "Player")
{
gameManager.SendMessage("PlayerDamaged",damageValue,SendMessageOptions.DontRequireReceiver);
gameManager.controller2D.SendMessage("TakenDamage",SendMessageOptions.DontRequireReceiver); }
}
之前也实例化gameManager了:public GameManager gameManager;
但是每次运行的时候还是报错:
NullReferenceException: Object reference not set to an instance of an object
Enemy2D.OnTriggerEnter (UnityEngine.Collider col) (at Assets/Scripts/Enemy2D.cs:47)
然后我看inspector,如下图,GameManager 那里总是显示none 选不了别的
我很捉急啊。。。。求大神相助T T 万分感激~~~ 展开
void OnTriggerEnter(Collider col)
{
if (col.gameObject.tag == "Player")
{
gameManager.SendMessage("PlayerDamaged",damageValue,SendMessageOptions.DontRequireReceiver);
gameManager.controller2D.SendMessage("TakenDamage",SendMessageOptions.DontRequireReceiver); }
}
之前也实例化gameManager了:public GameManager gameManager;
但是每次运行的时候还是报错:
NullReferenceException: Object reference not set to an instance of an object
Enemy2D.OnTriggerEnter (UnityEngine.Collider col) (at Assets/Scripts/Enemy2D.cs:47)
然后我看inspector,如下图,GameManager 那里总是显示none 选不了别的
我很捉急啊。。。。求大神相助T T 万分感激~~~ 展开
1个回答
展开全部
public GameManager gameManager
你这里只是声明了gameManager,并没有给它实例化
如果你gameManager是某个对象上的脚本,你可以先Find这个游戏对象
然后用gameManager=gameObject.GetComponent<GameManager>()来获取
你这里只是声明了gameManager,并没有给它实例化
如果你gameManager是某个对象上的脚本,你可以先Find这个游戏对象
然后用gameManager=gameObject.GetComponent<GameManager>()来获取
追问
那请问怎么实例化?具体应该怎么写?我是新手哈~~~
追答
你也可以把带GameManager脚本的对象拖拽到属性面板的GameManager里
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询