Jump to content
Zum Start hinzufügen

Weitere Informationen

3D-Modellbahn Studio

Eine Vollbild-App auf Ihrem Startbildschirm mit Push-Benachrichtigungen und mehr.

So installieren Sie diese App auf iOS und iPadOS
  1. Tippen Sie auf das Teilen-Symbol in Safari
  2. Scrollen Sie durch das Menü und tippen Sie auf Zum Startbildschirm hinzufügen.
  3. Tippen Sie oben rechts auf Hinzufügen.
So installieren Sie diese App auf Android
  1. Tippen Sie auf das 3-Punkte-Menü (⋮) in der oberen rechten Ecke des Browsers.
  2. Tippen Sie auf Zum Startbildschirm hinzufügen oder App installieren.
  3. Bestätigen Sie durch Tippen auf Installieren.

Empfohlene Beiträge

Geschrieben

Hallo liebe Leute,

wie baue ich eine Verzögerung in eine Wiederholungsschleife ein? Die Idee ist, Fahrzeuge mit einem Schlagwort nacheinander mit einer Verzögerung von xx Sek. zu starten, damit sie nicht alle gleichzeitig losfahren.

Im Anhang die Testanlage V5

LG Ronald

StartKFZ.mbp

Bearbeitet von RoniHB

Geschrieben

Hallo Ronald,

der Trick ist, bei verzögerten Wiederholungen mit benutzerdefinierten Ereignissen zu arbeiten, da Wiederholungen selbst nicht verzögert werden können, benutzerdefinierte Ereignisse aber schon.

Viele Grüße,

Neo

StartKFZ-verzögert.mbp

Edit: Sehe gerade, dass das Beispiel nur prototypisch funktioniert, da die Reihenfolge der Autos nicht sichergestellt ist. Hier müsstest du daher mit expliziten Listen oder Verkettungen von Vorgänger/Nachfolger arbeiten.

Geschrieben
  • Autor

Hallo Neo,

vielen dank für den Hinweis. Ich werde das mit einer Liste lösen.

LG Ronald

  • 2 Monate später...
Geschrieben

Hallo zusammen,
ich hänge mich mal an.
Ich versuche gerade eine Gruppe von Feuerwehrleuten (5) nacheinander sichtbar zu machen (die Reihenfolge ist unwichtig).
Nach einigen Versuchen bin ich auf diesen Foreneintrag gestoßen, bekomme es aber nicht gelöst. Ich habe je Feuerwehrmann 3 Sek. Verzögerung eingestellt. Aber sie werden immer alle gleichzeitig sichtbar (nach Ablauf der 5x3 Sekunden). Abschnitt 1 im Dialogprotokoll erscheint sofort nach Betätigen der Taste, Abschnitt 2 nach den Besagten 5x3 Sekunden.
Ich habe den Versuch mal angehängt.

Gruß
Siggi

Screenshot.jpg

Verzögern.mbp

Bearbeitet von siggi
Ergänzung (Gruß)

Geschrieben

diese Funktion wird sofort bei Betätigung des grünen Tasters ausgeführt:

local t = layout:getEntitiesByKeyword("FW-Mann")
  for i, Wdh in ipairs(t) do
    $("BD Objekt Sichtbar"):invoke(Wdh, 3)
  end

Du sagst also in blitzschneller Folge für jeden Feuerwehrmann: "Warte 3 Sekunden, und dann zeige ihn"
Anders gesagt: Du startest für alle Feuerwehrmänner zugleich eine verzögerte Aktion.

Deshalb tut es nicht, was es tun soll.

Die Wiederholung ist hier das falsche Mittel.
Du willst nach und nach eine Liste abarbeiten. Das ist etwas anderes.

Geschrieben

Hallo Götz,

danke für deine Antwort!
In der Anlage von Neo (StartKFZ-verzögert .mbp) funktioniert der Ablauf, ist dort irgend etwas anders?

local t = layout:getEntitiesByKeyword("AutoStart")
for i, Wdh in ipairs(t) do
  $("Fahrzeug starten"):invoke(Wdh, i)
end


Zum Verständnis für mich: <for i> nimmt den ersten Eintrag in der Tabelle <t>, führt das Benutzer definierte Ereignis <Fahrzeuge starten> aus und nimmt dann den nächsten Eintrag aus <t>.

Gruß Siggi

 

Bearbeitet von siggi
Korrigiert! ...Neo (StartKFZ-verzögert .mbp)..

Geschrieben
vor 1 Stunde schrieb siggi:

Zum Verständnis für mich: <for i> nimmt den ersten Eintrag in der Tabelle <t>, führt das Benutzer definierte Ereignis <Fahrzeuge starten> aus und nimmt dann den nächsten Eintrag aus <t>.

genau.
Aber es wartet nicht auf Rückmeldung. Es schickt einfach nacheinander die Befehle an alle Objekte aus der Liste.

 

vor 1 Stunde schrieb siggi:

In der Anlage von Neo ... ist dort irgend etwas anders?

Ja - Die Fahrzeuge starten alle zugleich.
Bzw. nein, es ist nichts anders - Die Fahrzeuge starten (genau wie bei dir die Feuerwehrmänner) alle zugleich.
    

Da hatte ich etwas wichtiges Übersehen. Pardon.

Bearbeitet von Goetz
Korrektur nach Lesen des folgenden Postings von Neo

Geschrieben

Hallo Siggi,

der wichtige Unterschied ist dieser hier:

$("BD Objekt Sichtbar"):invoke(Wdh, 3)

vs

$("Fahrzeug starten"):invoke(Wdh, i)

Während du für jedes Ereignis eine konstante Pause von 3 Sekunden verwendest, übergebe ich für jedes Ereignis eine andere Dauer, und zwar "i", also 1, 2, 3 usw. Dadurch starten die Autos zu unterschiedlichen Zeitpunkten.

Viele Grüße,

Neo

Geschrieben

Die Ereignisse bekommen sozusagen einen Zeitzünder mit auf den Weg 9_9

Geschrieben

Vielen Dank für eure Antworten,

schon wieder neues gelernt zu Lua.
 

Ich wünsche euch einen guten Rutsch ins neue Jahr!

Siggi

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Push-Benachrichtigungen konfigurieren

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.