零基础 游戏关卡选择,截图,查询组件等基本操作

来源:互联网 发布:mac虚拟机win7镜像下载 编辑:程序博客网 时间:2024/06/03 19:38

截取Unity界面的图形在默认路径建立文件夹并储存

void OnGUI()

{

        if (GUI.Button(newRect(0,0,60,40),"截图"))

        {

            Application.CaptureScreenshot(@"Pictures\七月.png");  //注意自己的文件路径以免报错

            Debug.Log("截图成功");

         }

}

游戏中的关卡选择

void OnGUI()          这是一个生命周期函数

    {

        if (SceneManager.sceneCount !=SceneManager.sceneCount-1)

        {

            if (GUI.Button(newRect(0,45,60,40),"下一个关卡"))

            {

                SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);

                GameObject gamemanager =GameObject.Find("GameManager");

                DontDestroyOnLoad(gamemanager);

            }

        }

        if (SceneManager.GetActiveScene().buildIndex !=0)

        {

            if (GUI.Button(newRect(0,90,60,40),"上一个关卡"))     //建立一个按钮

            {

                SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex - 1);

            }

        }

    }

    voidOnApplicationQuit()       这是一个生命周期函数

    {

        Application.Quit();

}

注释:如果Unity6.0版本

SceneManager.sceneCount替代 Application.levelCount

SceneManager.LoadScene(0);Application.LoadLevel(0);

SceneManager.GetActiveScene().buildIndex替换Application.loadedLevel

 

查询组件

//既得到父亲身上的组件也得到孩子身上的组件

        GameObject testobj =GameObject.Find("Test");

得到所有球类的组件

//testobj.GetComponentsInChildren<SphereCollider>();

        Component[] components =testobj.GetComponentsInChildren<Transform>();

        foreach (var itemin components)

        {

            Debug.Log(item.gameObject.name +"++++");

        }

原创粉丝点击