【发布时间】:2020-09-05 20:25:47
【问题描述】:
我必须在敌人脚本中编写一个代码,当他们与子弹碰撞时会受到伤害。现在我想改变这个int,(它定义了子弹的伤害)但是怎么做呢?我遇到了错误。
敌人脚本:
public int bulletdamage;
public void dead()
{
Destroy(gameObject);
}
public void OnCollisionEnter(Collision collision)
{
if (collision.collider.CompareTag("bullet"))
{
Debug.Log("loluhit");
healthenemy -= bulletdamage;
if (healthenemy <= 0f)
{
dead();
}
}
}
附着在敌人身上,敌人被实例化并获得随机数的活
然后是拍摄脚本,我想在其中更改 int 值,让它整洁:
public int bulletdmg;
void Start()
{
GetComponent<health>().bulletdamage = bulletdmg;
}
我得到错误:
“NullReferenceException:对象引用未设置为对象的实例”
怎么办?
【问题讨论】:
-
这能回答你的问题吗? Unity C# Null Reference Exception
-
@Lotan 这意味着所有敌人都会失去生命值,不是吗?
-
不要将“已解决”编辑到您的问题中。而是接受一个答案。如有必要,请创建一个您可以接受的答案。