Einstellungen-Ü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 geben und Schätze zu offenbaren. Jedes Mal, wenn ein Spieler einen Knopf berührt, sollte es einige Feedback geben, um den Spielern mitzuteilen, dass sie mit ihm interagieren, wie Farben zu ändern oder Geräusche zu erstellen.

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

Bereite eine Brücke

Beginnen Sie, indem Sie die Brücke einrichten.

  1. Erstellen Sie einen Bereich in Ihrem Spiel, in dem Spieler eine Brücke benötigen.

  2. Erstellen Sie ein Teil für die Brücke und benennen Sie es Brücke.

  3. Wählen Sie die Brücke, im Eigenschaften-Fenster:

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

Erstellen Sie die Schaltfläche

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

  1. Erstellen Sie ein neues Teil mit dem Namen Button.
  2. Ändern Sie die Buttonfarbe in Rot.
  3. Anchor die Schaltfläche.
  4. Bewegen Sie die Schaltfläche, damit sie leicht schwimmt und nichts berührt. Dies ist, um sicherzustellen, dass das Ereignis Touched nicht versehentlich initiieren.

Den Button interaktiv machen

Diesmal verwenden Sie nicht das Ereignis Touched, um eine Falle zu erstellen, sondern Sie verwenden es, um eine Schaltfläche zu erstellen, die die Brücke verwendbar macht. Um die Brücke kollisionierbar zu machen, verwenden Sie den Code bridge.CanCollide = true innerhalb einer benutzerdefinierten Funktion, die ausgeführt wird, wenn ein Spieler die Schaltflä

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

  1. Fügen Sie ein neues Skript in die Schaltfläche mit dem Namen ActivateBridge ein.
  2. Löschen Sie Hello World .
  3. Erstellen Sie Variablen für die Brücke und für die Schaltfläche.
  4. Erstellen Sie eine lokale Funktion , die das Folgende tut, wenn die Schaltfläche berührt wird:
    • Druckt "button touched" .
    • Ändert die Farbe der Schaltfläche von rot zu grün, wenn sie berührt wird.
    • Ändert die Transparenz der Brücke auf 0, um sie sichtbar zu machen.
    • Macht die Brücke verwendbar, indem der Code bridge.CanCollide = true verwendet wird
  5. Verbinden Sie die Funktion mit dem Ereignis Touched der Schaltfläche.
  6. Testen Sie das Skript und stellen Sie sicher, dass die Brücke angezeigt wird, wenn die Taste berührt wird.

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


-- Füge dieses Skript in die Schaltfläche ein
-- Farbt 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)

Probleme mit Ihrem Code

Problem: Die Brücke ist bereits stabil, wenn das Spiel beginnt. Stellen Sie sicher, dass die Teile verankert sind und nichts berühren. Die Teile können etwas berühren, wie z. B. Gelände oder ein anderes Teil, und die Taste gedrückt wird möglicherweise versehentlich ausgefeuert. Problem: Du erhältst einen Fehler im Ausgabe-Fenster, der sagt: "Bridge ist kein gültiges Mitglied von Arbeitsbereich" Prüfe gefolgte Profile:

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

Optionale Codes Herausforderung

Das Skript in dieser Lektion kann auch verwendet werden, um Türen zu befolgen, die Spieler aus bestimmten Bereichen fernzuhalten. Üben Sie Ihre Codierungsfertigkeiten und tun Sie gefolgte Profile:

  • Erstellen Sie ein Türteil.
  • Erstellen Sie eine Schaltfläche weiter von der Tür.
  • Ändern Sie das Skript in dieser Lektion, damit die Tür Transparenz ändern kann, und damit der Spieler nicht mit ihr kollidieren kann.

Deine Version sieht vielleicht so aus:


local button = script.Parent
-- Erinnerung: Ändern Sie den Namen des Teils, Gate, mit dem in Ihrem 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() -- ÄNDERN SIE DAS
-- Mache das Tor unsichtbar
gate.Transparency = 1
-- Lässt es so, dass der Spieler durch das Tor gehen kann
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)