2017-09-08 3 views
0

Es ist schwer, meine Frage zu erklären. Ich habe 16 Fliesen mit 9 Tasten zwischen ihnen:Machen Sie gameObject Kind des gameObject, das an der Position der Schaltfläche ist

https://i.gyazo.com/7f0402427b37fdba8a267b7a9ca9dc68.png

Hinter jeder Taste ist ein weißes Gameobject, das im Zentrum von 4 Kacheln ist. Wenn du einen Knopf drückst, sollten sich die 4 Steine ​​um das weiße gameObject drehen. Ich dachte, dass der beste Weg, dies zu tun ist, dass, wenn Sie auf eine Schaltfläche klicken, die 4 Kacheln um diese Schaltfläche Kind des weißen GameObject hinter dieser Schaltfläche werden, so können sie mit 4 drehen. Wie mache ich es so, Wenn du auf einen Knopf drückst, werden die Kacheln um diesen Knopf Kind des weißen gameObject hinter diesem Knopf?

Antwort

1

Es gibt mehrere Möglichkeiten, dies zu erreichen, aber es kann mehr oder weniger in die wenigen Schritte unterteilt werden, die Sie erwähnt haben. Bei dieser Methode wird davon ausgegangen, dass Sie über ein Skript verfügen, das Sie an jedes der weißen Objekte anfügen.

Zuerst müssen Sie eine Liste von Objekten erstellen, die das weiße Objekt berührt. Dies kann entweder mit OnCollisionEnter/OnTriggerEnter oder durch eine Abstandsprüfung erfolgen. Im Folgenden finden Sie ein Beispiel dafür, wie OnTriggerEnter nach dem Markieren der einzelnen farbigen Quadrate verwendet werden kann. Dann können Sie einfach durch die 4 Objekte in der Liste durchlaufen und ihre Eltern dem weißen Quadrat zuweisen:

+0

Danke für die Antwort. Ich denke, ich mache etwas falsch, weil nichts passiert. - Soll ich die leere SquareClicked() zu einer Schaltfläche hinzufügen? (Ich habe es getestet, indem ich die Funktion in Start()) gesetzt habe. - Die weißen Spielobjekte haben einen Boxcollider mit Trigger ausgewählt, die Quadrate haben einen Boxcollider ohne Trigger - Ich habe dieses Skript allen weißen Gameobjekten hinzugefügt - I Tags hinzugefügt. Mache ich etwas falsch? –

+0

Ja, es gibt mehr als nur diesen Code. Sie rufen SquareClicked mit der von Ihnen verwendeten Methode auf, um einen Klick auf das Spielobjekt zu erkennen. Wenn an diesem weißen Quadrat eine Schaltflächenkomponente angehängt ist, können Sie diese Funktion mit den Schaltflächen [onClick listener] (https://docs.unity3d.com/ScriptReference/UI.Button-onClick.html) für Schaltflächen aufrufen. – ryeMoss

+0

Aber die komplizierte Sache ist, dass die Knopfkomponente nicht auf dem weißen Spielobjekt ist, sondern auf dem Knopf davor. –

Verwandte Themen