2016-04-24 25 views
0

So habe ich eine Gruppe von Tasten, die die gleiche Funktion haben in Unity. Ich brauche die Funktion, um den Namen des Knopfes zu finden, der gedrückt wird, und entsprechend zu reagieren. Wie bekommt man den Namen der Taste gedrückt? Bitte beantworten Sie in JSName der Taste in Funktion

function Homes() { 
if (button.name == "Cardboard Box" && money > 10) { 
    Debug.Log("Removing " + house + " adding" + button.name); 
    money -= 10; 
    house = "Cardboard"; 
}else if (button.name == "Wood Shack" && money > 200) { 
    money -= 200; 
    house = "Wood Shack"; 
} 
+1

Was ist "Button" in diesem Zusammenhang, es ist nirgendwo definiert? Im Allgemeinen haben Sie keine Leerzeichen in Namen. – adeneo

+0

Taste ist die UI-Taste, die diese Funktion verwendet und in diesem Skript nannte ich eine Karton und Wood Shack –

+0

Und haben Sie das ohne die Leerzeichen im Namensattribut – adeneo

Antwort

0

Wenn Sie den Namen der Schaltfläche in der Hierarchie greifen wollen verwenden dann: gameObject.name. Wenn Sie den Text der Schaltfläche abrufen möchten, verwenden Sie GetComponentInChildren<Text>().text und stellen Sie sicher, dass using UnityEngine.UI; hinzugefügt wird.

+0

Das Skript an ein anderes GameObject angeschlossen ist. Das wird nicht funktionieren. –