2016-10-13 153 views
-1

我已将此脚本附加到游戏对象,然后附加到按钮脚本,但是该按钮脚本未显示“新游戏”功能(点击图片链接)image。代码似乎没有错误。可能是什么问题呢?新按钮不起作用

using UnityEngine; 
using System.Collections; 
using System; 
using System.Runtime.Serialization.Formatters.Binary; 
using System.IO; 
using UnityEngine.SceneManagement; 

public class LoadAndNew : MonoBehaviour { 
    public string LoadCode; 
    public static string GlobalLoad; 
    public string fileName = "SaveGame.dat"; 

    void Load() 

    { 

     if(File.Exists(Application.persistentDataPath + "/SaveGame.dat" )) 
     { 
      BinaryFormatter bf = new BinaryFormatter(); 
      FileStream file = File.Open(Application.persistentDataPath + "/SaveGame.dat", FileMode.Open); 
      bf.Deserialize(file); 
      file.Close(); 

     } 
    } 

    void QuitGame() 
    { 
     Application.Quit(); 
    } 
    void NewGame() 
    { 
     SceneManager.LoadScene(1); 
    } 



} 

回答

0

你缺少public关键字,试试这个

public void NewGame() 
{ 
    SceneManager.LoadScene(1); 
} 

你将极有可能与QuitGameLoad功能

+0

谢谢!欣赏它! –

1

对于一个功能相同的问题在按钮露面编辑器中的OnClick事件槽,

  • 它需要是m公开。
  • 它不能是一个静态函数。
  • 它必须 只有一个参数或没有。

您错过了我提到的第一个。

要删除这些限制,您可以改为从代码注册该功能。无论它是private还是public函数,它都可以工作。

public Button button1; 
void Start() 
{ 
    button1.onClick.AddListener(() => NewGame()); 
} 

void NewGame() 
{ 
    SceneManager.LoadScene(1); 
} 
+0

当然是一个更完整的答案 –