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

Das Titelthema, welches @Phrontistes und @EASY an anderer Stelle angesprochen haben, schien mir eine Tutorial Anlage wert.
Der Thread von Phrontistes hat aber grundsätzlich ein anderes Thema. Deshalb habe ich hierfür einen neuen gestartet.

Unter der Content-ID F1B12254-098F-433A-9B24-BA2FB89A0E59 findet ihr jetzt eine Anlage, die zwei mögliche Wege aufzeigt:

"per Wiederholung" durchläuft alle Fahrzeuge im Zug und setzt jede Kupplung auf aktiv oder inaktiv, je nachdem ob ein Fahrzeug angekuppelt ist oder nicht.

local t = layout:getVehicleGroup(vehicle)

for k, v in ipairs(t) do
    v.couplers[0].enabled = v.couplers[0].connectedCoupler ~= nil
    v.couplers[1].enabled = v.couplers[1].connectedCoupler ~= nil
end

 

"gezielt" spricht nur die beiden äußeren Kupplungen an. Dazu nutzt es die Ausrichtung der beiden Fahrzeuge relativ zur Fahrtrichtung um zu unterscheiden ob jeweils die vordere oder hintere Kupplung außen liegt. Die mathematische Umwandlung der Ausrichtung in den Index für die richtige Kupplung erspart die if-Unterscheidungen.

local t, t2 = layout:getVehicleGroup(vehicle)

local ersterWagen  = t[1]
local letzterWagen = t[#t]

local ersteKupplung  = (1 - t2[1]) // 2
local letzteKupplung = (1 + t2[#t]) // 2

ersterWagen.couplers[ersteKupplung].enabled = false
letzterWagen.couplers[letzteKupplung].enabled = false

"local" hält die Variablen bis zum Ende der Berarbeitung im CPU-nahen Speicher und gibt den Bereich nach Ausführung der Funktion automatisch frei.
Macht für den Ablauf keinen bemerkbaren Unterschied. Hat aber bei großen Programmen den zusätzlichen Nutzen, dass es gegen ungewollte Überschneidungen bei Variablennamen absichert.

Beide Konzepte gehen auf Vorschläge von Phrontistes und EASY zurück.
Und beide leisten dasselbe. (Deshalb ist nur eins der beiden Ereignisse aktiv.)

Außerdem hat die Anlage einen Knopf, der auf dem gelben Gleisabschnitt alle Kupplungen aktiviert.
Vielleicht möchtet ihr ja gerne eigene Konzepte ausprobieren und vergleichen.

Viele Grüße
Götz

Bearbeitet von Goetz
Variablen "local" gesetzt

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.