Version: 2017.3

描述

This function is called when the behaviour becomes disabled () or inactive.

当对象销毁时也会调用该函数,它可用于任何清理代码。 当编译完成后重新加载脚本时,将调用 OnDisable,并在加载脚本后调用 OnEnable。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void OnDisable() { print("script was removed"); } }

另一个示例:

// Implement OnDisable and OnEnable script functions.
// These functions will be called when the attached GameObject
// is toggled.
// This example also supports the Editor.  The Update function
// will be called, for example, when the position of the
// GameObject is changed.

using UnityEngine;

[ExecuteInEditMode] public class PrintOnOff : MonoBehaviour { void OnDisable() { Debug.Log("PrintOnDisable: script was disabled"); }

void OnEnable() { Debug.Log("PrintOnEnable: script was enabled"); }

void Update() { #if UNITY_EDITOR Debug.Log("Editor causes this Update"); #endif } }

__注意:__.OnDisable 不能作为协同程序使用。
另请参阅:OnEnable