Unity3D如何正确调用与修改另一个脚本中的全局变量(在碰撞检测中)?

2025-01-03 01:18:03
推荐回答(1个)
回答1:


    void OnCollisionEnter2D(Collision2D col) ///Collision2D co1 碰撞的那个碰撞物体信息
    {
        var yk = col.transform.GetComponent(); //获取那个碰撞物体上的类BringKey
        if (yk.yellowkey > 0)
        {
            Destroy(gameObject);
            yk.yellowkey--;
        }
    }

要获取的是已经存在于场景中的对象,继承MonoBehaviour的类相当于你贴到对象上的一个脚本控件。你要获取的是一个已经存在与场景内的对象,不能使用New,OnCollisionEnter2D函数中发生碰撞的那一刻会把与当前物体接触的那个物体碰撞信息通过参数Collision2D col传递进来。可以通过这个传递过来的值,修改传递过来物体上脚本的参数。