📅  最后修改于: 2023-12-03 15:09:50.616000             🧑  作者: Mango
在Unity中,我们经常使用SetActive方法来启用或禁用游戏对象。在某些情况下,我们可能需要在游戏对象的激活状态改变时执行一些操作。这时候,我们可以使用以下方法:
private void OnEnable()
{
// 激活时执行的操作,可以在这里添加代码
}
private void OnDisable()
{
// 禁用时执行的操作,可以在这里添加代码
}
这两个方法都是MonoBehaviour类提供的事件函数,它们分别在游戏对象被激活和被禁用时被调用。我们只需要将要执行的操作写在这两个方法中即可。
另外,为了确保这两个方法的执行,我们还需要确保该脚本被添加到了需要监控的游戏对象上。比如,如果我们想在一个Cube对象被激活和被禁用的时候执行一些操作,我们需要这样做:
创建一个脚本文件,给它取名为MyScript.cs,并将其附加到Cube对象上。
编写脚本,添加OnEnable和OnDisable方法:
using UnityEngine;
public class MyScript : MonoBehaviour
{
private void OnEnable()
{
Debug.Log("Cube被激活了");
}
private void OnDisable()
{
Debug.Log("Cube被禁用了");
}
}
运行游戏,启用或禁用Cube对象,观察控制台输出。
以上就是当gameobject setactive时做void的简单介绍。这种方法很实用,可以应用在很多场景中,比如动态加载和卸载资源、控制游戏对象的行为等等。