
Unity不挂载到物体上也可执行的方法
本来想着直接写之前学到的一些东西的,但是我在想,这万一有人问我啥是Unity可咋办,所以呢,就在后面关于Unity3D的文章开头呢,写上什么是Unity
🎬 博客主页:https://blog.gmcj0816.top
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 此文章为原创,并通过Typora编辑器撰写✨
🌲 开发工具:Unity3D 2019.4.40f1(个人版) Rider2022.2.4(教育版)
起因
之前也是没太注意如何不挂载到GameObject物体身上也能够执行相关方法,这个确实是自己的知识盲区,过去自己能想到的都基本需要挂载到物体身上,才能够执行,或者通过脚本来调用不继承MonoBehavior的类中的方法。
实现
ONE
如果在脚本中的方法标记为[RuntimeInitializeOnLoadMethod]
,则允许在运行时加载游戏时不通过用户操作 初始化一个运行时类方法,这里需要注意的便是调用标记为 [RuntimeInitializeOnLoadMethod]
的 方法。这是在调用 Awake
方法后进行的,而且标记为 [RuntimeInitializeOnLoadMethod]
的方法的执行顺序是不确定的,那该如何去写呢,其实有两种方式,一种是[RuntimeInitializeOnLoadMethod],另一种是[RuntimeInitializeOnLoadMethod([RuntimeInitializeOnLoadMethod])]
- [RuntimeInitializeOnLoadMethod](这里也是写了一个比较简单的实例,无需挂载到物体身上,点击Play按钮即可发现其执行了)
1 | [RuntimeInitializeOnLoadMethod] |
- [RuntimeInitializeOnLoadMethod([RuntimeInitializeOnLoadMethod])]
这里RuntimeInitializeOnLoadMethod提供了五个类型
1 | RuntimeInitializeLoadType.AfterSceneLoad // 加载场景后 |
TWO
- InitializeOnLoadMethod
允许在 Unity 加载时初始化编辑器类方法,无需用户操作。方法记得也需要是static静态方法哦
完事,基本就是这些,还是比较好理解的
记得常来看看哦
- 感谢你赐予我前进的力量