【发布时间】:2020-05-18 16:35:03
【问题描述】:
我对 unity 还很陌生,遇到了一个问题,即当我的一个游戏对象与另一个游戏对象发生碰撞时,它们都会受到伤害。我的伤害被降低了,但是当我撞到对手时问题就来了,它会受到伤害,但我也会受到伤害。试着想一想如何修复,这样他只会受到我的冲击造成的伤害,如果另一个游戏物体撞到我身上,那么我只会受到伤害,而不是他。
public void TakeDamage(float amount)
{
health -= amount;
healthbar.fillAmount = health / starthealth;
if (health <= 0)
{
gameObject.SetActive(false);
}
}
public void OnCollisionEnter(Collision collision)
{
if (collision.collider.gameObject.tag == "player")
{
collision.gameObject.GetComponent<playerScript> ().TakeDamage (damage);
}
}
这是受到伤害和碰撞的样子,敌人与我发生碰撞,它使用玩家脚本中的受到伤害方法
【问题讨论】:
-
好吧,如果我的车撞到你的车上,我们都会受到伤害,所以发生这种情况有很多逻辑。您可以确定可能是移动速度较快的物品造成了损坏
-
这是关于c#,而不是unityscript。
标签: c# unity3d game-engine game-development