![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
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里
![](https://ecmb.bdimg.com/tam-ogel/68fbe88b0a8f632a86bb01d6623d9be0_60_60.jpg)
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇...
点击进入详情页
本回答由微测检测5.10提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询