Unity脚本生命周期常用方法

在编辑状态下脚本被挂在到游戏对象上的时候被调用 是声明周期函数中最早执行的

void Reset()
    {
        transform.position = Vector3.zero;
    }

在运行的时候开始执行 不管脚本是否被激活都可以被调用

void Awake()
    {
        Debug.Log("唤醒了");
    }

脚本被激活的时候被调用

void OnEnable()
    {
        Debug.Log("激活了");
    }

脚本失活的时候被调用

void OnDisable()
    {
        Debug.Log("失活了");
    }

Start 方法在整个声明周期中只被调用一次,即使让脚本失活后在激活脚本,Start方法不再执行

void Start () {
        Debug.Log("Start");
        Destroy(gameObject);
    }

固定更新void FixedUpdate()处理基于物理游戏行为一般用该方法,处理Rigidbody时,需要用FixedUpdate代替Update。当MonoBehaviour启用时,其 FixedUpdate 在每一帧被调用。

void FixedUpdate()
    {
        Debug.Log("FixedUpdate");
        Debug.Log(Time.deltaTime);
    }

当鼠标进入到Collider(碰撞体)中时调用

    void OnMouseEnter()
    {
        transform.localScale = new Vector3(2,2,2);
    }

当鼠标移出Collider(碰撞体)上时调用

    void OnMouseExit()
    {
        transform.localScale = new Vector3(1, 1, 1);
    }

当鼠标悬浮在Collider(碰撞体)上时调用

void OnMouseOver()
    {
        transform.Rotate(Vector3.up * 30 * Time.deltaTime);
    }

当用户释放鼠标按钮时调用,只调用在按下的同一物体上。此函数在iPhone上无效。

void OnMouseUp()
    {
        transform.localScale /= 2;
    }

当鼠标在Collider(碰撞体)上点击时调

    void OnMouseDown()
    {
        transform.localScale *= 2;
    }

当MonoBehaviour将被销毁时,这个函数被调用。只会在预先已经被激活的游戏物体上被调用

  void OnDestroy()
    {        
        Debug.Log("游戏对象销毁了");
    }

你可能感兴趣的:(unity脚本)