2017-08-08 11 views
1

私はゲームオーバー画面の上に再起動ボタンを作ろうとしています。しかし、ボタンが機能しないようです。私はOn Click()メニューに入れました。それをクリックしても何もしませんでした。私のコード を:Unity 5.6でRestartボタンが機能しない

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

public class ButtonCodes:MonoBehaviour 
{ 
    public void RestartGame() 
    { 
     SceneManager.LoadScene(0); 
    } 
} 
+0

このシーンをビルドに追加しましたか? – KamikyIT

答えて

0

ありがとうございます。あなたが言ったことのすべてはすでに完了していますが、ボタンは機能しません。結局、私は自分自身で問題を解決しました。キャンバスにはボタンが機能するために重要だったEventSystemがありません。

+0

Unityで新しいCanvasを作成するとEventSystemがデフォルトで作成されますが、UIが機能するためには必須です。 今後、「私の現在のUIは動作します/動作しません」、またはシーン階層のスクリーンショット/説明など、より多くの情報を含めることができます。 – Bejasc

+0

さて、次回はそれを試してみます。アドバイスをいただきありがとうございます。 – irfancen

1

はエラーがないAssumming、それは働いていない可能性が高い理由は、あなたが

https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.LoadScene.html設定(Ctrlキー+ Shiftキー+ B)を作成/ファイル内の任意のシーンを指定していないということです

これは、sceneBuildIndexを使用する場合、ビルド設定でシーンを注文する必要があることを示しています。 SceneNameを使用する2番目のLoadSceneを使用することもできます。これは、ビルド設定でシーンを順番に並べ替えた方が信頼性が高い場合があります。

また、Debug.Logを使用してコードのその部分が実際に呼び出されていることを確認してください。

2

4.6 UIボタンを調べます。

は、あなたのシーンでボタンを作成し、クリック時に、ターゲット・フィールド(左)にあなたの ButtonCodesでゲームオブジェクトをドラッグし、 ButtonCodesでオプションになります右、中 RestartGameを選択してください。

これはすでに行っていることかもしれません。その場合は、Debug.Log("Button was Clicked");文を使用してみてください。これらが表示された場合は、ビルドの設定に任意のレベルを含めるように設定していない可能性があります。 (Unityはただの遊びを押すことで、ここでレベルを追加しません - あなたはこれを自分で行う必要があります)のSceneManager中のシーンの名前を入れて

0

試みをし、ビルド設定にあなたがつもり負荷であることを確認し、あなたのシーンを作る

public void RestartGame() 
{ 
    SceneManager.LoadScene(//name of your scene); 
} 
0

1-ボタンを複製して他の機能と併用すると、機能しません。

2私が直面した別の理由は、継承されたクラスを使用していたときに、何度も動作しないということでした。

3-時には "0"シーンを追加して設定をビルドすることも忘れてしまいます。

関連する問題