fzonk Posted April 14, 2020 Share Posted April 14, 2020 Hallo @Neo Ich weiß das Thema ist nicht ganz neu für dich, aber ich würde es gern mal wieder auf den Tisch bringen. Bei den Animationen kann man aktuell abfragen ob diese gestartet oder gestoppt sind und daraus weiter Aktionen erstellen. Nun habe ich den Fall, dass ich aber nur an einer bestimmten Stelle eine Aktion auslösen will. Ich habe ein Beispiel erstellt, in diesem sind auch mehrere Ansätze wie es aussehen könnte (beide deaktiviert). Animationszustand.mbp Ziel ist es bei der Klappbrücke, dass wenn die Animation endet (bis hierhin funktioniert es) und nur wenn die Brücke geschlossen ist (Animationszustand 0) eine Aktion (in dem Fall das Umschalten der Lampe) aufgeführt wird. Wäre es da nicht sinnvoll, wenn ich auch direkt die Stellung der Animation abfragen könnte. Sinngemäß: if animations == 0 then oder if $("Kleine Klappbrücke").animations["Global"] == 0 then oder if animations.state == 0 then Mir geht es dabei noch nicht mal um Stufen in der Animation (auch wenn ich da ebenfalls bedarf für hätte, um Animationen gezielt an einer Stelle zu stoppen), in dem Konkreten Beispiel geht es „einfach“ nur um die Abfrage 0 oder 1 (Anfang oder Ende). Ich könnte auch mit Hilfsmitteln (Variablen oder sogar der Lampe) zum gewünschten Ziel kommen, finde es aber umständlich. Vielleicht wird es ja doch noch die Möglichkeit der direkten Abfrage noch geben (oder ich finde mal wieder nicht die richtige Lösung). Vielen Dank Frank Link to comment Share on other sites More sharing options...
Neo Posted April 15, 2020 Share Posted April 15, 2020 Hallo Frank, das Abfragen der Animationsposition ist für die nächste Version vorgesehen. Viele Grüße, Neo Link to comment Share on other sites More sharing options...
BahnLand Posted April 15, 2020 Share Posted April 15, 2020 Hallo @Neo, vor einer Stunde schrieb Neo: das Abfragen der Animationsposition ist für die nächste Version vorgesehen. Auch das Positionieren an eine bestimmte Stelle in der Anilmation (als Wert zwischen 0 und 1)? Viele Grüße BahnLand Link to comment Share on other sites More sharing options...
Goetz Posted April 15, 2020 Share Posted April 15, 2020 (edited) vor 30 Minuten schrieb BahnLand: das Positionieren an eine bestimmte Stelle in der Animation kannst du meines Wissens jetzt schon haben. Und zwar mit dem Stop-Befehl. Der nimmt ein Argument an für die Position, an der gestoppt werden soll. Das Resultat ist ein Sprung an diese angegebene Stelle. Wie von dir gewünscht. Beispiel: Animation positionieren.mbp Mit der grafischen EV kommt man nur zum Start oder Ende. Schaltet man auf Lua um, dann kann man auch andere Werte benutzen. Edited April 15, 2020 by Goetz Beispielanlage hinzugefügt Link to comment Share on other sites More sharing options...
Andy Posted April 15, 2020 Share Posted April 15, 2020 Hey, das gibt noch 'ne Tüte Waffeleier! Gruß Andy Link to comment Share on other sites More sharing options...
BahnLand Posted April 15, 2020 Share Posted April 15, 2020 (edited) Hallo @Goetz, Danke für Deinen Hinweis. Das ist zwar erst die "halbe Miete" zu dem, was ich mir gewünscht habe. Denn ich möchte die Animation von einer beliebigen Position, an der die Animation steht, schlagartig auf eine andere fixe Position umschalten können. Ein konkretes Anwendungsbeispiel wäre das Umschalten zwischen den verschiedenen Stirnlicht-Varianten beim schweizerischen RAe TEE II Triebzug. Dort gibt es nämlich folgende Stirnllicht-Zustände, die heute alle jeweils als getrennte Animationen reaisiert sind und damit bei einer "falschen" Bedienung sich gegenseitig negativ beinflussen können: Stirnbeleuchtung aus 1 weiße Lampe an (Rangierlicht) 2 weiße Lampen an (2-Licht-Spitzensignal in Frankreich und Italien) 3 weiße Lampen an (3-Licht-Spitzensignal in der Schweiz, Deutschland und Österreich) 1 rote Lampe an (Standlicht am abgestellten Zug) 2 rote Lampen an (Schlusslicht) 3 rote Lampen an (Warsignal in der Schweiz zur Ankündigung einer Gefahr für den Gegenzug (Sofort Anhalten!)) 2 gelbe Lampen unten, 1 weiße Lampe oben (ehemaliges 3-Licht-Spitzensignal in den Niederlanden) 1 weiße und 1 grüne Lampe unten (Ankündigungssignal für außerplanmäßigen Folgezug in Italien) Diese 9 Stirn- und Schlusslicht-Variaten könnte man in eine einzige Variation stecken, indem man an den Positionen 0.000, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875 und 1.000 jeweils einen Licht-Zustand hinterlegt und dann in der EV entsprechend immer die "passende" Konstellation "ansteuert". Mit Deinem Anstoß habe ich aber trotzdem eine funktionierende Lösung gefunden. In der grafischen EV lassen sich allerdings nur die Zusände 0 und 1 wie gewollt realisieren, indem man die Animation vorwärts mit Start am Ende (Zielposition 1.000) oder rückwärts mit Start am Anfang (Zielposition 0.000) startet. Die Zwischenpositionen lassen sich jedoch nur mit Lua ansteuern, indem man das Starten der Animation und das Stoppen direkt hintereinander ausführt: Mi dem Start der Animation wird der Startpunkt an die gewünschte Position gelegt. Mit dem unmittelbar nachfolgenden Stop der Animation wird verhindert, dass diese Position verlassen wird. Als Demonstrationsbeispiel habe ich die Schiebetür einer meiner Straßenbahnen verwendet, weil man hier die Positionen 0 (Tür geschlossen), 0.25, 0.5, 0.75 (Zwischenpositionen) und 1 (Tür geöffnet) sehr schön erkennen kann, die mit den Buttons im Vordergrund eingestellt werden können. Wer selbst damit etwas herumspielen möchte, kann die beigefügte mbp-Datei starten und sich die ERreignissteueung genauer anschauen. Animation mit Zwischenzielen.mbp Viele Grüße BahnLand Edited April 15, 2020 by BahnLand Link to comment Share on other sites More sharing options...
BahnLand Posted April 15, 2020 Share Posted April 15, 2020 (edited) Hallo @Goetz, ich habe gerade gesehen, dass Du an Deinen besagten Beitrag noch was angehängt hast. Du hast Recht: Es funktioniert auch bei meinem Beispiel ohne den Animationsstart. Das Stoppen an einer bestimmten Stelle genügt vollauf. Nochmals vielen Dank für diesen Hinweis! Viele Grüße BahnLand Edited April 15, 2020 by BahnLand Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now