如何选择性地禁用球体碰撞器?

时间:2015-03-23 04:16:48

标签: c# unity3d

我正在尝试建立一个游戏池,其中底池有一个对撞机。现在在与球发生碰撞时,我预计碰撞的特定球会停用。

以下代码是我尝试过的,但它只允许我手动设置球。我如何直接自动检测和检测正确的球?

using UnityEngine;


using System.Collections;    
public class pot: MonoBehaviour
{   //allows me to set collider
    public SphereCollider ball;

    void OnTriggerEnter(Collider other) {
        Debug.Log("Ball potted");
        ball = GetComponent<SphereCollider>();
        ball.enabled = !ball.enabled;
        }

}

3 个答案:

答案 0 :(得分:2)

other.enabled = false;

你在找什么?

答案 1 :(得分:2)

看起来你的代码正在获得底池本身的球体对撞机。不是&#34;其他&#34;在这种情况下球?

你可以禁用&#34;其他&#34;对象(假设它是球)与&#34; other.gameObject.SetActive(false)&#34; - 如果你想让整个球消失的话。如果你只是想让它的对撞机停止工作,那么使用&#34; other.enabled = false&#34;。

答案 2 :(得分:0)

{{1}}