gpt4 book ai didi

c# - OnControllerColliderHit 触发次数过多

转载 作者:太空宇宙 更新时间:2023-11-03 13:14:08 25 4
gpt4 key购买 nike

我写这个脚本是为了减少玩家的生命并将他们移回与某些物体接触的原始点,但我发现它会在每次碰撞时触发 1 到 4 次,使生命从 3 下降到-1。

using UnityEngine;
using System.Collections;

public class HitCar : MonoBehaviour
{
public static int lives = 3;

void OnControllerColliderHit(ControllerColliderHit col)
{
if(col.gameObject.name == "utd_car1")
{
Destroy(col.gameObject);
lives--;
if(lives <= 0)
{
Application.LoadLevel("LoseScreen");
}
else
{
var player = GameObject.Find("3rd Person Controller");
player.transform.position = new Vector3(0, 2, -26);
}
}
}

void OnLevelWasLoaded(int level)
{
lives = 3;
}
}

任何防止它在每次碰撞中触发多次的方法都将不胜感激。

最佳答案

OnControllerColliderHit 当您想多次击打某物时使用,最好是移动它。

您可以切换到此代码:

void OnCollisionEnter(Collision col) 
{
if(col.gameObject.name == "utd_car1")
{
}
}

关于c# - OnControllerColliderHit 触发次数过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com