在以下代码行中,_pro
是另一个类的实例,其中Transform
名为Target
,而posi
也是Vector3
,并且一个有效的值。
_pro.Target.transform.position = new Vector3(posi.x, posi.y, posi.z);
我想将posi
的值分配给Target.transform.position
,但会抛出NullReferenceException
。
检查完每个部分后,_pro
为null
。以下是我尝试实例化_pro:
public projectile _pro;
GameObject go = GameObject.Find("enemy"); // go is not null
_pro = go.GetComponent<projectile>(); // _pro is null
答案 0 :(得分:1)
找到的"enemy"
游戏对象没有附加projectile
个组件,这就是go.GetComponent<projectile>()
为您提供null
的原因。
您需要在代码中的某个位置实例化射弹。你可以这样做:
go.AddComponent<projectile>(); // where go is the "enemy" game object
或者这个:
var pro = CreateInstance<projectile>();
pro.transform.parent = go.transform.parent; // go is the "enemy" game object