碰撞触发器似乎总是在碰撞

Collision trigger always seems to be colliding

我通过研究所能找到的所有对象都没有碰撞...我的问题是它总是在碰撞...我把这段代码搞得一团糟,试图让它认识到它没有碰撞。他们在统一中根本没有触及任何东西(立方体触发器使用盒式碰撞器)...我对统一有点陌生,我觉得我看不起一些简单的东西?

using UnityEngine;
using System.Collections;

public class Battlecam : MonoBehaviour 
{

//calling speed integers
    public float upSpeed = 10;
    public float rightSpeed = 60;
//bool colliding
    public bool colliding = false;


//triggers
    void OnTriggerEnter(Collider other)
    {
        colliding = true;
    }


    void OnTriggerExit(Collider other)
    {
        colliding = false;
    }


    void Start()
    {
            colliding = false;
    }
//camera movements
    void Update()
        {
            if (colliding = false) {
                float horizontal = Input.GetAxis ("Horizontal") * rightSpeed * Time.deltaTime;
                transform.Translate (0, horizontal, 0);

                float vertical = Input.GetAxis ("Vertical") * upSpeed * Time.deltaTime;
                transform.Translate (0, 0, vertical);

                colliding = false;
            } 
            else
                colliding = true;
        }

}

我不知道是什么让我的 bool 变为 true。我已经搜索了 google 并堆栈交换任何答案,但运气不佳。谢谢

你在这一行中有一个错误:

 if (colliding = false) {

应该是,

 if (colliding == false) // or if(!colliding)

Dinal24 获得了第一分。

您应该修复的另一件事是:
OnTriggerEnter(Collider other) 更改为 OnTriggerStay(Collider other).
为什么?
如果程序在对象已经接触时启动(bool 应该 return true),它会被强制为 return false,因为:

void Start()
{
    colliding = false;
}

一个选项是,如果您使用 OnTriggerStay,它会不断检测它是否正确。
另一种选择是完全删除 void Start()。我觉得没必要。