2016-11-08 12 views
1

私は新しいコーディングで新しく、Web上で正しい答えを見つけることができませんでした。私が望むのは、自分のゲームでシーンを変えるだけです。私はすでにボタンなどを持っていますが、私はクリック機能メニューから "メニュー"スクリプトを選択することはできません。LoadLevelの代わりに、SceneManagerを使用するにはどうすればいいですか

すべての回答が歓迎です!ここ

using UnityEngine; 
using UnityEngine.SceneManagement; 
using System.Collections; 

public class Menu : MonoBehaviour { 
public void ChangeScene(string sceneName) 
    { 
     SceneManager.LoadScene("sceneName"); 
    } 
} 

enter image description here

答えて

1

「Menu.cs」であることを確認してくださいMenuスクリプトを左のスロットに挿入します。

ゲームオブジェクトにMenuを添付して、左にGameObjectを接続する必要があります。その場合、右のイベントを送信するスクリプトと機能を選択できます。

下の画像は(これはあなたが現在それをやっている方法です)これを行うには間違った方法を示しています

enter image description here

ザ・はそれをを行うための正しい方法である:

コードからもこれを行うことができます:

public class Menu : MonoBehaviour 
{ 
    public Button playButton; 

    void Start() 
    { 
     //Add Button Event 
     playButton.onClick.AddListener(() => buttonCallBack(playButton)); 
    } 
    public void ChangeScene(string sceneName) 
    { 
     SceneManager.LoadScene("sceneName"); 
    } 

    private void buttonCallBack(Button buttonPressed) 
    { 
     if (buttonPressed == playButton) 
     { 
      ChangeScene("myscene"); 
     } 
    } 
} 
2

いくつかの問題。あなたはクリック時のデリゲートにすべてのリスナーを追加することはできませんので、まず、機能「ChangeScene」

public void ChangeScene(string sceneName) 
{ 
    SceneManager.LoadScene(sceneName); 
} 

はその後、あなたはあなたのスクリプトで問題がある可能性があります。コンソールが投げるすべての問題を修正します。奇妙なことは、Menuスクリプトの名前がMenuコンポーネントに表示されないことです。ファイル名は「>メニューChangeScene」

最後に、ドラッグは、「実行時のみ」の下欄にボタンをドロップすると、選択し&あなたはだけに接続しないでき

関連する問題