我的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;
}
}
答案 0 :(得分:3)
我不是Unity的专家,但我会使用OnCollisionEnter方法,它可以让你知道你的对象是否已经开始触及另一个刚体/对撞机。这里是link
或者另一种解决方案是,如果您的对象已被其他刚体触摸,则可以检查Update()方法。如果该语句为真,请调用您的LoaseHP(...)方法。
答案 1 :(得分:0)
如果你想在被击中时提高玩家的健康水平,我也会考虑使用FixedUpdate()
方法。如果您不打算使用Update()
方法,可能会经常调用OnCollisionEnter
方法