【问题标题】:In Unity Load another scene when the button is clicked on the first scene在 Unity 中,在第一个场景上单击按钮时加载另一个场景
【发布时间】:2015-09-07 03:34:18
【问题描述】:

我已经创建了两个统一的场景,如果单击场景一上的按钮 1,我想加载场景 2。我一直在谷歌搜索这个问题,阅读统一文档,但我只找到这个

   Application.LoadLevel("SceneTwo");

我尝试过使用它,但我的第二个场景只是在没有我点击第一个场景上的按钮的情况下加载。 这是我目前第一个场景的代码

    using UnityEngine;
    using System.Collections;

    public class first : MonoBehaviour {

    // Use this for initialization
    void Start () {

            Application.LoadLevel("MiniGame");
    }

    // Update is called once per frame
    void Update () {
        Application.LoadLevel("MiniGame");
    }
}

我已将此脚本与第一个屏幕上的按钮相关联,而“MiniGame”是第二个场景。

【问题讨论】:

    标签: unity3d


    【解决方案1】:
    1. 创建 GUI 按钮。
    2. 为级别更改编写公共函数脚本。如下例所示。

      using UnityEngine;
      using System.Collections;
      
      public class first : MonoBehaviour 
      {
          public void GoToLevel(string level)
          {
              Application.LoadLevel (level);
          }   
      }
      
    3. 设置 GUI 按钮的 OnClick 方法。我在画布中使用了我的脚本,您可以在任何对象中使用。

    你也可以看unity scene selection tutorial

    【讨论】:

      【解决方案2】:

      Application.LoadLevel (level); 已过时。

      可以改用SceneManager.LoadScene()。

      【讨论】:

        【解决方案3】:

        Application.LoadLevel() functionality 的用法完全错误。但这不是这里唯一的问题。 Unity 脚本中的Start() 在创建附加了此脚本的对象时调用一次。 Update() 在每一帧都被调用,这意味着现在你要求统一加载你的第二级数千次,直到它“崩溃”我假设。

        为了修复此功能,您应该通过将此脚本附加到要单击的对象来创建可点击对象

         using UnityEngine;
         using System.Collections;
        
         public class first : MonoBehaviour 
         {
        
         // Use this for initialization
         void Start ()
         {
        
         }
         void Update () 
         {
        
         }
        
         void OnMouseDown()
         {
           // this object was clicked - do something
         Application.LoadLevel("MiniGame");
         }  
        

        当然,您需要为您尝试点击的对象添加一个碰撞器

        【讨论】:

        • 我试图更新任何脚本,但是当我点击按钮时没有任何反应。
        • 您是否在对象上添加了对撞机?如果您愿意,请更新您的问题,详细说明您想要实现的目标。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多