【Unity】编辑器下或PlayMode立即运行的属性

本文介绍了Unity中几种在PlayMode下立即运行的属性,如InitializeOnLoad用于在Unity加载时初始化Editor类,InitializeOnLoadMethod允许在加载时初始化编辑器类方法,PostProcessScene则是在构建场景后或进入PlayMode时触发。此外,还讲解了playModeStateChanged事件,它在进入或退出PlayMode时执行相关代码。这些特性对于开发者在Unity编辑器中实现特定功能非常有用。

问题

如果点击Play之后有一些代码执行了,而你又完全找不到调用者。

那么,作者很有可能使用了以下的这些小技巧,它们的特点是只要进入Playmode就会自动执行。

InitializeOnLoad属性

允许在 Unity 加载时和重新编译脚本时初始化 Editor 类。

重新编译项目中的脚本时,会调用带有此属性的静态构造函数(也称为域重新加载)。

在 Unity 首次加载项目时、在 Unity 检测到脚本修改时(取决于自动刷新首选项),以及当进入运行模式时(取决于运行模式配置),会进行此调用。

代码示例如下:

using UnityEngine;
using UnityEditor;

[InitializeOnLoad]
public class Startup {
   
   
    static Startup()
    {
   
   
        Debug.Log("Up and running");
    }
}

InitializeOnLoadMethod属性

允许在 Unity 加载时初始化编辑器类方法,无需用户操作。

using UnityEngine
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值