Parametern-Übung - Schaltflächen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

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 eine Taste berührt, sollte er ein Feedback geben, damit die Spieler wissen, dass er mit ihr interagiert wird, wie Farben ändern oder Geräusche machen.

In diesem Beispiel wird die Schaltfläche verwendet, um eine Brücke zu aktivieren.Wenn der Knopf gedrückt wurde, wird er grün und Spieler können die Brücke nutzen.Wenn der Spieler die Taste nicht gedrückt hat, wird er durch die Brücke fallen, wenn er versucht, darauf zu gehen.

Erstelle eine Brücke

Beginnen Sie, indem Sie die Brücke einrichten.

  1. Erstelle einen Bereich in deinem Spiel, in dem Spieler eine Brücke benötigen.

  2. Erstelle ein Teil für die Brücke und benenne es Brücke um.

  3. Wähle die Brücke im Eigenschaften-Fenster:

    • Ändere Transparenz auf .5. Für Transparenz ist 0 sichtbar, 1 unsichtbar.
    • Überprüfen Sie Anker .
    • Deaktivieren Sie Kann kollidieren .
  4. Teste das Spiel, die Brücke sollte verschwommen aussehen und die Leute sollten noch nicht darauf gehen können.

Erstelle die Schaltfläche

Jetzt, da die Brücke eingerichtet ist, erstelle die Schaltfläche.

  1. Erstelle ein neues Teil mit dem Namen Taste.
  2. Ändere die Knopffarbe auf rot.
  3. Verankern die Schaltfläche.
  4. Bewegen Sie die Schaltfläche, damit sie leicht schwebt und nichts berührt. Dies ist, um sicherzustellen, dass das Ereignis Touched nicht versehentlich initiieren.

Mache den Button interaktiv

Dieses Mal verwenden Sie stattdessen das Touched-Ereignis, um keine Falle zu erstellen, sondern um einen Knopf zu erstellen, der die Brücke nutzbar macht.Um die Brücke kollidierbar zu machen, verwende den Code bridge.CanCollide = true innerhalb einer benutzerdefinierten Funktion, die ausgeführt wird, wenn ein Spieler die Taste berührt.Du weißt alles andere, was du brauchst, um die folgenden Schritte abzuschließen.

Versuchen Sie, es selbst herauszufinden, bevor Sie sich die Code-Lösung ansehen.

  1. Füge ein neues Skript in den Button mit dem Namen ActivateBridge ein.
  2. Löschen Hello World.
  3. Erstelle Variablen für die Brücke und für die Schaltfläche.
  4. Erstellen Sie eine lokale Funktion , die Folgendes tut, wenn die Schaltfläche berührt wird:
    • Druckt "button touched" .
    • Ändert die Farbe der Schaltfläche von rot auf grün, wenn sie berührt wird.
    • Ändert die Transparenz der Brücke auf 0, um sie sichtbar zu machen.
    • Macht die Brücke nutzbar, indem der Code bridge.CanCollide = true verwendet wird
  5. Verbinde die Funktion mit dem Touched des Buttons.
  6. Teste das Skript und stelle sicher, dass die Brücke angezeigt wird, wenn der Knopf berührt wird.

Code-Lösung unten ist eine mögliche Code-Lösung


-- Füge dieses Skript in die Schaltfläche ein
-- Macht den Knopf grün, wenn etwas den Knopf berührt.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("button touched")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

Löse deine Probleme mit Codes

Problem: Die Brücke ist bereits solide, wenn das Spiel beginnt.: Stellen Sie sicher, dass die Teile angeankert sind und nichts berühren.Die Teile könnten etwas berühren, wie Gelände oder einen anderen Teil, und die Funktion buttonPressed() versehentlich auslösen. Problem: Du erhältst einen Fehler im Ausgabe-Fenster, der sagt: "Bridge ist kein gültiges Mitglied des Arbeitsbereichs" Überprüfe gefolgte Profile:

  • Die Benennung deiner Brücke. Die Brücke in deinem Skript muss genau wie im Explorer benannt werden.
  • Das part.Touched:Connect(buttonPressed) ist außerhalb der buttonPressed() Funktion.

Optionale Code-Herausforderung

Das Skript in dieser Lektion kann auch verwendet werden, um Türen zu halten, die Spieler aus bestimmten Bereichen fernhalten. Übe deine Codierfähigkeiten und mache gefolgte Profile:

  • Erstelle ein Türteil.
  • Erstelle eine Schaltfläche weiter weg von der Tür.
  • Ändere das Skript in dieser Lektion, damit die Tür Transparenz ändert und der Spieler nicht damit kollidieren kann.

Deine Version könnte so aussehen:


local button = script.Parent
-- Erinnerung: Ersetze den Namen des Teils, Gate, durch den in deinem Projekt
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- Ändert die Schaltfläche auf rot, um dem Spieler Feedback zu geben
button.BrickColor = BrickColor.Red() -- ÄNDERE DAS
-- Mache das Tor unsichtbar
gate.Transparency = 1
-- Macht es so, dass der Spieler durch das Tor gehen kann
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)