如何理解这段C#代码?

时间:2015-08-07 06:29:26

标签: c# mono

public class LevelManager : MonoBehaviour 
{
    public void LoadLevel (string name)
    {
          Debug.Log("Level Loaded for" + name);
          Application.LoadLevel (name);
    }

    public void QuitLevel ()  
    {
          Debug.Log("Request To Exit Game");
          Application.Quit();
    }
}

我希望能够理解,以便我可以根据这段代码制作自己的脚本。

2 个答案:

答案 0 :(得分:2)

这只是一个包含两种方法的课程:我认为他们正在做的事情非常清楚。以下是如何使用它们的方法:

LevelManager lvlMgr = new LevelManager();
string lvlName = "Level1";
// To load the level.
lvlMgr.LoadLevel(lvlMgr); // HERE.
// To quit the level.
lvlMgr.QuitLevel();

string name中的public void LoadLevel(string name)部分是您传递给方法的参数(请参阅注释名为" HERE"),该方法在方法中使用。
debug.log()用于在调试器的输出中写入。

答案 1 :(得分:2)

我过去曾与C#和Unity合作过,所以我会尽力解释代码的各个部分。

首先,

public class LevelManager : MonoBehaviour

这是类名和脚本名。

第二,

public void LoadLevel (string name)  
{
    Debug.Log("Level Loaded for" + name);
    Application.LoadLevel (name);
}

方法LoadLevel获取一个字符串变量并将其传递给Debug.Log& Application.LoadLevel。 Application.Load级别将在Unity中加载具有特定名称的级别,例如“Level 1”。

public void QuitLevel ()  
{
    Debug.Log("Request To Exit Game");
    Application.Quit();
}

此方法不带变量,用于退出关卡。 两种方法中的Debug.Log方法用于通知您Unity控制台窗口中每个方法的作用。 Application.Quit和Application.LoadLevel都是Unity API方法。

因为此类是公共类,所以可以在Unity脚本中创建一个新的LevelManager对象,并使用这两种方法。

例如 LevelManager lvlManager = new LevelManager(); 这将创建一个新的级别管理器对象,并允许您使用LoadLevel和QuitLevel方法。

对于记录,不应使用Unity中的新关键字,但它仍然有效。