HP Script Unity

时间:2013-12-07 16:27:30

标签: c# unity3d

我的Unity脚本有问题。我将这个脚本应用于我的角色,当它到达对撞机时没有任何反应,没有采取HP。

public int HP = 100;
// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
}
void LoseHP(Collider col)
{
    if(col.tag == "trap")
    {
        HP -= 100;
    }
}

2 个答案:

答案 0 :(得分:3)

我不是Unity的专家,但我会使用OnCollisionEnter方法,它可以让你知道你的对象是否已经开始触及另一个刚体/对撞机。这里是link

或者另一种解决方案是,如果您的对象已被其他刚体触摸,则可以检查Update()方法。如果该语句为真,请调用您的LoaseHP(...)方法。

答案 1 :(得分:0)

如果你想在被击中时提高玩家的健康水平,我也会考虑使用FixedUpdate()方法。如果您不打算使用Update()方法,可能会经常调用OnCollisionEnter方法