Wil*_*rty 9 c# unity-game-engine
我想知道在Unity中是否有一种方法,当我在场景上启动我的程序时它首先触发一个函数,我应该补充一点,我希望这个函数无论我在哪个场景都能工作.所以一个简单的启动函数不会削减它.不确定Unity中是否可以这样做?
public void ProgramBegins()
{
//FIRES FIRST ON ANY SCENE
//DO STUFF
}
Run Code Online (Sandbox Code Playgroud)
gre*_*lio 25
RuntimeInitializeOnLoadMethodAttribute可以帮到你:)
using UnityEngine;
class MyClass
{
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
static void OnBeforeSceneLoadRuntimeMethod()
{
Debug.Log("Before scene loaded");
}
}
Run Code Online (Sandbox Code Playgroud)
在这里您可以找到unity中所有函数的执行顺序:http://docs.unity3d.com/Manual/ExecutionOrder.html
Awake是在独立应用程序中执行的第一个函数。要运行它,您需要有一个GameObject包含该Awake函数的附加脚本。如果您希望它无论场景如何都运行,则应将其添加到每个场景中。
您仍然需要决定游戏的启动场景是什么。GameObject因此,如果您实际上希望它仅在程序的开头运行,那么添加 就足够了。
| 归档时间: |
|
| 查看次数: |
13811 次 |
| 最近记录: |