Knöpfe können von Spielern verwendet werden, um neue Bereiche freizuschalten, Punkte zu vergeben und Schätze zu enthüllen. Jedes Mal, wenn ein Spieler einen Knopf berührt, sollte er rückmelden, dass er interagiert wird, indem er beispielsweise die Farben ändert oder Geräusche macht.
In diesem Beispiel wird der Knopf verwendet, um eine Brücke zu aktivieren. Wenn der Knopf gedrückt wurde, wird er grün und die Spieler können die Brücke benutzen. Wenn der Spieler den Knopf nicht gedrückt hat, wird er durch die Brücke fallen, wenn er versucht, darauf zu gehen.
Erstelle eine Brücke
Fangen Sie damit an, die Brücke einzurichten.
Erstellen Sie einen Bereich in Ihrer Umgebung, in dem die Spieler eine Brücke benötigen.
Erstellen Sie ein Bauteil für die Brücke und benennen Sie es in Brücke um.
Wählen Sie die Brücke aus, und ändern Sie im Eigenschaftenfenster:
- Ändern Sie Transparenz auf .5. Bei der Transparenz steht 0 für sichtbar und 1 für unsichtbar.
- Aktivieren Sie Verankern.
- Deaktivieren Sie KannKollidieren.
Wenn Sie die Erfahrung testen, sollte die Brücke neblig aussehen und die Leute sollten noch nicht darauf gehen können.

Erstellen Sie den Knopf
Jetzt, da die Brücke eingerichtet ist, erstellen Sie den Knopf.
Erstellen Sie ein neues Teil mit dem Namen Knopf.
Ändern Sie die Knopffarbe auf rot.
Verankern Sie den Knopf.
Bewegen Sie den Knopf so, dass er leicht schwebt und nichts berührt. Dies soll sicherstellen, dass das Ereignis Berührt nicht versehentlich ausgelöst wird.

Machen Sie den Knopf interaktiv
Diesmal verwenden Sie das Ereignis Class.BasePart.Berührt|Berührt, um keinen Trap zu erstellen, sondern um einen Knopf zu erstellen, der die Brücke benutzbar macht. Um die Brücke kollidierbar zu machen, verwenden Sie den Code bridge.CanCollide = true innerhalb einer benutzerdefinierten Funktion, die ausgelöst wird, wenn ein Spieler den Knopf berührt. Sie wissen alles andere, was Sie benötigen, um die folgenden Schritte abzuschließen.
Versuchen Sie, es selbst herauszufinden, bevor Sie sich die Code-Lösung ansehen.
- Fügen Sie ein neues Skript in den Knopf mit dem Namen ActivateBridge ein.
- Löschen Sie Hallo Welt.
- Erstellen Sie Variablen für die Brücke und für den Knopf.
- Erstellen Sie eine lokale Funktion, die Folgendes macht, wenn der Knopf berührt wird:
- Gibt "Knopf berührt" aus.
- Ändert die Farbe des Knopfes von rot auf grün, wenn er berührt wird.
- Macht die Transparenz der Brücke auf 0, um sie sichtbar zu machen.
- Macht die Brücke benutzbar, indem Sie den Code bridge.CanCollide = true verwenden.
- Verbinden Sie die Funktion mit dem Berührt-Ereignis des Knopfes.
- Testen Sie das Skript und stellen Sie sicher, dass die Brücke erscheint, wenn der Knopf berührt wird.
Code-Lösung Hier ist eine mögliche Code-Lösung
-- Fügen Sie dieses Skript in den Knopf ein
-- Macht den Knopf grün, wenn etwas den Knopf berührt.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("Knopf berührt")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)
Fehlerbehebung Ihres Codes
Problem: Die Brücke ist bereits fest, wenn die Erfahrung beginnt. Stellen Sie sicher, dass die Teile verankert sind und nichts berühren. Die Teile könnten etwas berühren, wie Terrain oder ein anderes Teil, und dazu führen, dass die Funktion buttonPressed() versehentlich ausgelöst wird.
Problem: Sie erhalten einen Fehler im Ausgabefenster mit dem Hinweis: "Brücke ist kein gültiges Mitglied von Workspace." Überprüfen Sie Folgendes:
- Die Benennung Ihrer Brücke. Die Brücke in Ihrem Skript muss genau wie im Explorer benannt sein.
- Dass part.Berührt:Connect(buttonPressed) außerhalb der Funktion buttonPressed() ist.
Optionale Code-Herausforderung
Das Skript in dieser Lektion kann auch verwendet werden, um Türen zu halten, die Spieler von bestimmten Bereichen fernhalten. Üben Sie Ihre Programmierfähigkeiten und tun Sie Folgendes:
- Erstellen Sie ein Türenteil.
- Erstellen Sie einen Knopf, der weiter von der Tür entfernt ist.
- Ändern Sie das Skript in dieser Lektion so, dass es die Tür transparenter macht und verhindert, dass der Spieler mit ihr kollidiert.
Ihre Version könnte etwa so aussehen:
local button = script.Parent
-- Erinnerung: Ersetzen Sie den Namen des Teils, Tor, mit dem in Ihrem Projekt
local gate = workspace.Gate
local function buttonPressed()
print("Knopf berührt")
-- Ändert den Knopf auf rot, um dem Spieler Rückmeldung zu geben
button.BrickColor = BrickColor.Red() -- ÄNDERN SIE DAS
-- Macht das Tor unsichtbar
gate.Transparency = 1
-- Macht es so, dass der Spieler durch das Tor laufen kann
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)