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 das Teleportieren jedes Spielers in einem Array an einen neuen Ort oder das Inbrandsetzen von Teilen in einem Array.

Um das Durchlaufen von Arrays zu erkunden, erstellen Sie einen verschwindenden Brückenpfad, bei dem Teile in ein Array gelegt und dann einzeln verschwinden.

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, Part1, Part2, Part3.

  2. Fügen Sie in ServerScriptService ein neues Skript ein und erstellen Sie ein Array zum Speichern der Teile.


    local pathArray = {
    }
  3. Geben Sie in einer einzelnen Zeile jeweils 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, in der sie im Array indiziert sind, verschwinden sollen.

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


    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 Werts 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 die Schleife ein task.wait() unter Verwendung von VANISH_RATE ein.


    for partIndex = 1, #pathArray do
    task.wait(VANISH_RATE)
    end
  4. Um ein Teil verschwinden zu lassen, erstellen Sie eine neue Variable namens whichPart und setzen Sie sie gleich partsArray[partIndex]. Dann setzen Sie, um dieses Teil verschwinden zu lassen, die Eigenschaft CanCollide 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 Pfads 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 alle gleich zu Beginn verschwunden.

  • Je nachdem, wie schnell Ihr Charakter in die Erfahrung geladen wird, können die ersten Teile bereits unsichtbar sein. Um dies zu beheben, fügen Sie zu Beginn des Skripts ein kleines Warten, wie task.wait(2), hinzu.

Programmieren Sie die zweite Schleife

Gerade jetzt verschwinden die Teile für immer. Um sie wieder erscheinen zu lassen, erstellen Sie eine zweite for-Schleife, die durch jedes Teil geht und sofort jedes Stück wieder 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, einen zweiten for-Schleifen zu codieren, der den Pfad wieder nutzbar macht, indem Sie die CanCollide-Eigenschaft jedes Teils auf true und die Transparency auf 0 setzen. Prüfen Sie Ihre Arbeit anschließend gegen den 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 wieder erscheinen.

Wiederholen Sie mit einer while-Schleife

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

  1. Erstellen Sie am Ende des Skripts eine neue while true do-Schleife. Bewegen 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 Sie den Pfad wieder erscheinen lassen
    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, dass, sobald alle Teile verschwinden, sie 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 Sie den Pfad wieder erscheinen lassen
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 namens 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 mit allen Objekten im Ordner zu erhalten.


    local partsFolder = workspace.PartsFolder
    -- Erhalten Sie 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

    -- Erhalten Sie ein Array, das die Teile in PartsFolder auflistet
    local partsArray = partsFolder:GetChildren()
    -- Fügen Sie 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 sehen Sie zu, wie die Partikel von jedem Teil im Ordner aufsteigen.

Zusammenfassung

Schleifen können mit Arrays kombiniert werden, um mit einer beliebigen Anzahl von Werten schnell zu arbeiten. Wenn Sie eine genaue Kontrolle darüber haben möchten, was mit ein paar 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. Durch die Verwendung von 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.