2016-07-17 17 views
0

Ich bin bei Unity und versuche ein Hauptmenü zu erstellen. Natürlich bin ich super langweilig und ich bin sehr unerfahren in der Codierung. Aber ich liebe es, aber es ist nur ein Schmerz in den Arsch.Der Typ '' enthält bereits eine Definition für ''

Mein Problem wird genau „Der Typ‚Levelmanager‘bereits eine Definition enthält für‚Optionsmenü‘

Ich bin gerade in eine Option-Taste, um Code versucht, aber es ist ein Hintern zu sein ist hier mein Code;.

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

public class LevelManager : MonoBehaviour { 

    public Transform MainMenu, OptionsMenu; 

    public void LoadScene(string name){ 
     SceneManager.LoadScene(name); 
    } 
    public void QuitGame(){ 
     Application.Quit(); 
    } 
    public void OptionsMenu(bool clicked){ 
     if (clicked == true){ 
      OptionsMenu.gameObject.SetActive(clicked); 
      MainMenu.gameObject.SetActive(false); 
     } else { 
      OptionsMenu.gameObject.SetActive(clicked); 
      MainMenu.gameObject.SetActive(true);    
     }  
    } 
} 

Antwort

1

Sie kein Feld und ein Verfahren mit dem gleichen Namen in der gleichen C# Klasse haben können.

public Transform MainMenu, OptionsMenu; 

und

public void OptionsMenu(bool clicked) 

Sie müssen einen von ihnen ändern.

Grund, was ist, wenn Sie die Methode Optionsmenü an eine andere Methode übergeben möchten:

private static void DoSomething(Action<bool> action) 
{ 

} 

private static void DoSomething(Transform t) 
{ 

} 

Dann:

var obj = new LevelManager(); 

// confusing call. Is this the method or the field ? 
DoSomething(obj.OptionsMenu); 
1

Sie haben ein OptionsMenupublic Transform OptionsMenu; namens Transformations dann eine Funktion mit dem Namen OptionsMenu.

Benennen Sie einfach Ihre void OptionsMenu(bool clicked) Funktion um oder benennen Sie die Variable Transform OptionsMenu um.

+0

Umbenennen der Transformation brach es weiter, aber umbenennen das andere Stück repariert es. Noch einmal, Entschuldigung für ein bisschen eine Dummheit, aber es ist ziemlich schwierig für mich, diese Art von Sachen zu lernen. –

+0

Danke, übrigens. Es hat geholfen. –

+0

@ Activation7X Sie müssen nur eine von ihnen umbenennen. Ist dieser Fehler jetzt behoben? – Programmer

Verwandte Themen