Schleifen und Arrays

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

Arrays können mit Schleifen wie while und for kombiniert werden, um denselben Code für jeden indizierten Wert zu wiederholen. Zum Beispiel, um jeden Spieler in einem Array an einen neuen Ort zu teleportieren oder um ein Array von Teilen in Brand zu setzen.

Um das Durchlaufen von Arrays zu erkunden, erstellen Sie einen verschwindenden Brückenpfad, bei dem Teile in ein Array eingefügt und dann nacheinander zum Verschwinden gebracht werden.

Durch ein Array iterieren

Für das Projekt finden oder erstellen Sie ein Set von drei Teilen, die verschwinden sollen. Die Teile müssen alle verankert sein.

  1. Erstellen Sie drei Teile. Benennen Sie die Teile in der Reihenfolge, in der sie verschwinden sollen: Teil1, Teil2, Teil3.

  2. Fügen Sie in ServerScriptService ein neues Skript ein und erstellen Sie ein Array, um die Teile zu speichern.

    local pathArray = {
    }
  3. Geben Sie in einer einzelnen Zeile den Namen der Teile in der Reihenfolge ein, in der sie verschwinden sollen. Die Verwendung einer neuen Zeile für jeden Wert erleichtert das Lesen.

    local pathArray = {
    workspace.Part1,
    workspace.Part2,
    workspace.Part3,
    }

Verwenden Sie eine for-Schleife mit einem Array

Verwenden Sie eine for-Schleife, um durch das Array zu gehen und zu steuern, wie schnell die Teile in der Reihenfolge verschwinden, in der die Teile im Array indiziert sind.

  1. Um zu steuern, wie oft ein Teil in Sekunden verschwindet, erstellen Sie eine Variable mit dem Namen VANISH_RATE. Zum Testen ist es am besten, sie auf eine kleine Zahl zu setzen.

    local VANISH_RATE = 1.5
    local pathArray = {
    workspace.Part1,
    workspace.Part2,
    workspace.Part3
    }
  2. Erstellen Sie eine for-Schleife mit Folgendem: Start: partIndex = 1, der Index des ersten Wertes im Array. Ende: #pathArray, die Größe dieses Arrays.

    for partIndex = 1, #pathArray do
    end
  3. Damit es eine Verzögerung gibt, bevor ein Teil verschwindet, fügen Sie in der Schleife ein task.wait() mit VANISH_RATE hinzu.

    for partIndex = 1, #pathArray do
    task.wait(VANISH_RATE)
    end
  4. Um ein Teil verschwinden zu lassen, erstellen Sie eine neue Variable mit dem Namen whichPart und setzen Sie sie gleich partsArray[partIndex]. Um dieses Teil verschwinden zu lassen, setzen Sie die CanCollide-Eigenschaft auf false und Transparency auf 1.

    for partIndex = 1, #pathArray do
    task.wait(VANISH_RATE)
    local whichPart = pathArray[partIndex]
    whichPart.CanCollide = false
    whichPart.Transparency = 1
    end
  5. Überprüfen Sie, ob die Teile des Pfades im Laufe der Zeit verschwinden.

Fehlersuche

Wenn die Brücke nicht verschwindet, überprüfen Sie die möglichen Probleme unten:

Problem: Teile verschwinden zu schnell oder sind zu Beginn alle verschwunden.

  • Je nachdem, wie schnell Ihr Charakter ins Spiel geladen wird, können die ersten Teile bereits unsichtbar sein. Um dies zu beheben, fügen Sie am Anfang des Skripts eine kleine Wartezeit hinzu, wie task.wait(2).

Programmieren Sie die zweite Schleife

Im Moment verschwinden die Teile für immer. Um sie wieder erscheinen zu lassen, erstellen Sie eine zweite for-Schleife, die durch jedes Teil geht und jedes Stück sofort begehbar macht.

  1. Fügen Sie nach der ersten Schleife ein task.wait() hinzu, um eine kurze Verzögerung zu erzeugen, bevor der Pfad wieder erscheint.

    for partIndex = 1, #pathArray do
    task.wait(VANISH_RATE)
    local whichPart = pathArray[partIndex]
    whichPart.CanCollide = false
    whichPart.Transparency = 1
    end
    task.wait(1)
  2. Versuchen Sie es selbst, eine zweite for-Schleife zu programmieren, die den Pfad wieder benutzbar macht, indem sie die CanCollide-Eigenschaft jedes Teils auf true und Transparency auf 0 ändert. Überprüfen Sie nach Abschluss Ihre Arbeit mit dem folgenden Code.

    -- Setzen Sie den Pfad zurück, indem Sie alle Teile wieder begehbar machen
    for partIndex = 1, #pathArray do
    local whichPart = pathArray[partIndex]
    whichPart.CanCollide = true
    whichPart.Transparency = 0
    end
  3. Testen Sie das Projekt, um zu bestätigen, dass, sobald alle Teile verschwinden, sie wiederkommen.

Wiederholen mit einer while-Schleife

Die Teile verschwinden und erscheinen wieder, aber nur einmal. Um den Code fortlaufend wiederholen zu lassen, schachteln Sie den gesamten Code innerhalb einer while-Schleife.

  1. Erstellen Sie am Ende des Skripts eine neue while true do-Schleife. Verschieben Sie dann beide for-Schleifen in die while-Schleife.

    while true do
    -- Lassen Sie ein Teil in der Reihenfolge aus dem Array verschwinden
    for partIndex = 1, #pathArray do
    task.wait(VANISH_RATE)
    local whichPart = pathArray[partIndex]
    whichPart.CanCollide = false
    whichPart.Transparency = 1
    end
    -- Warten Sie eine Sekunde, bevor der Pfad wieder erscheint
    task.wait(1)
    -- Setzen Sie den Pfad zurück, indem Sie alle Teile wieder begehbar machen
    for partIndex = 1, #pathArray do
    local whichPart = pathArray[partIndex]
    whichPart.CanCollide = true
    whichPart.Transparency = 0
    end
    end
  2. Überprüfen Sie, ob alle Teile verschwinden und wieder erscheinen.

Eine fertige Version des Projekts kann heruntergeladen werden.

Vollständiges Skript
local VANISH_RATE = 1.0
local pathArray = {
workspace.Part1,
workspace.Part2,
workspace.Part3,
}
while true do
-- Lassen Sie ein Teil in der Reihenfolge aus dem Array verschwinden
for partIndex = 1, #pathArray do
task.wait(VANISH_RATE)
local whichPart = pathArray[partIndex]
whichPart.CanCollide = false
whichPart.Transparency = 1
end
-- Warten Sie eine Sekunde, bevor der Pfad wieder erscheint
task.wait(1.0)
-- Setzen Sie den Pfad zurück, indem Sie alle Teile wieder begehbar machen
for partIndex = 1, #pathArray do
local whichPart = pathArray[partIndex]
whichPart.CanCollide = true
whichPart.Transparency = 0
end
end

Arrays und ipairs()

ipairs() wird mit Arrays verwendet. Das "i" in ipairs() steht für "Index". ipairs() kann verwendet werden, um schnell eine Operation auf viele Objekte zu wiederholen, wie zum Beispiel einen Ordner voller Teile.

Dies wird demonstriert, indem schnell Partikel zu einem ganzen Ordner von Teilen hinzugefügt werden.

  1. Erstellen Sie im Workspace einen Ordner mit dem Namen PartsFolder. Fügen Sie so viele Teile hinzu, wie Sie möchten.

  2. Erstellen Sie in ServerScriptService ein neues Skript und verweisen Sie auf den Ordner.

  3. Verwenden Sie GetChildren(), um automatisch ein Array zu erhalten, das alle Objekte im Ordner auflistet.

    local partsFolder = workspace.PartsFolder
    -- Holt ein Array, das die Teile in PartsFolder auflistet
    local partsArray = partsFolder:GetChildren()
  4. Verwenden Sie in ipairs(ArrayToUse) mit der for-Schleife, um durch partsArray zu gehen und Partikel hinzuzufügen.

    Vollständiges Skript
    -- Holt ein Array, das die Teile in PartsFolder auflistet
    local partsArray = partsFolder:GetChildren()
    -- Fügt jedem Teil im Array Partikel hinzu
    for index, part in ipairs(partsArray) do
    local particles = Instance.new("ParticleEmitter")
    particles.Parent = part
    end

Spielen Sie das Spiel und beobachten Sie, wie die Partikel von jedem Teil im Ordner aufsteigen.

Zusammenfassung

Schleifen können mit Arrays kombiniert werden, um schnell mit beliebig vielen Werten zu arbeiten. Wenn Sie genaue Kontrolle darüber haben möchten, was mit einigen Teilen passiert und in welcher Reihenfolge, muss ein Array mit spezifischen Werten fest codiert werden.

Um mit vielen Teilen zu arbeiten, bei denen die Reihenfolge keine Rolle spielt, kann GetChildren() ein Array der Kinder eines Objekts erstellen. Mit ipairs() kann die Liste schnell durchlaufen werden, ohne die Größe des Arrays zu kennen.

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.