2015-06-21 72 views
1

我已經創建了兩個場景,我想要加載場景2的單一場景如果點擊場景1上的button1。我一直在谷歌上搜索這個問題,閱讀文檔的統一,但我只覺得這Unity中在第一個場景中單擊按鈕時加載另一個場景

​​

我試圖用這個,但我的場景兩人只是負載沒有我點擊第一個場景的按鈕。 這裏是我的代碼對於第一個場景,此刻

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"); 
    } 
} 

我掛這個腳本與按鈕我的第一個屏幕上,「小遊戲」是第二現場。

回答

2
  1. 創建GUI按鈕。
  2. 編寫用於級別改變的公共函數腳本。如下例所示。

    using UnityEngine; 
    using System.Collections; 
    
    public class first : MonoBehaviour 
    { 
        public void GoToLevel(string level) 
        { 
         Application.LoadLevel (level); 
        } 
    } 
    
  3. 設置您的GUI按鈕的OnClick方法。我在畫布中使用了我的腳本,可以在任何對象中使用。你 For Example

還可以觀看unity scene selection tutorial

-1

這是完全錯誤的使用Application.LoadLevel() functionality。但這不是這裏唯一的問題。 Start()在Unity中,創建附有此腳本的對象時會調用腳本一次。更新()被稱爲每一幀,這意味着現在你要求統一加載你的第二個級別數千次,直到它「崩潰」我假設。

爲了解決這個功能,你應該通過這個腳本安裝到你要點擊

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"); 
} 

當然,你將需要一個對撞機添加到您正在嘗試的對象的對象創建一個可點擊的對象點擊

+0

我試圖更新ny腳本,但是當我點擊按鈕時,什麼都沒有發生。 –

+0

是否在對象上添加了碰撞器?如果您想要更新您的問題,請詳細說明您要實現的目標。 – Billatron

2

Application.LoadLevel (level);已經過時了。可以使用SceneManager.LoadScene()代替。

相關問題