Sichtbarkeitssteuerung

  • Hallo


    Wie war das nochmal mit der Sichtbarkeit in Gruppenobjekten - :/


    Ich möchte in meinem Gruppenobjekt folgendes erreichen:


    Halterung - immer sichtbar (das war ja leicht)

    Teil 1 - tagsüber sichtbar und nachts nach Betriebsschluss; ausserdem bei Störung - also

    "WetterDaten::HelligkeitProzent > 60 || FahrplanVars::Betriebsschluss || Sonstige::ZufallGruppenObjekt == 1"


    Teil 2 - (=Teil 1 selbstleuchtend) - nachts sichtbar, außer nach Betriebsschluss; eventuell Störung - also

    "WetterDaten::HelligkeitProzent <= 60 || !(FahrplanVars::Betriebsschluss) || Sonstige::ZufallGruppenObjekt != 1"


    In meiner Theorie wunderbar - leider funktioniert das aber nicht. Für sachdienliche Hinweise bin ich jederzeit dankbar.


    Gruß

    Miguel

  • Moin,


    setz mal die Vergleichsvariablen in Klammern, genau das gleiche Problem hatte ich eben bei "!Str::Bahnsteig == 96" auch --> "!(Str::Bahnsteig == 96)" funktioniert, also muss es bei Dir heißen:


    "(WetterDaten::HelligkeitProzent > 60) or FahrplanVars::Betriebsschluss or (Sonstige::ZufallGruppenObjekt == 1)" bzw.


    "(WetterDaten::HelligkeitProzent <= 60) or !(FahrplanVars::Betriebsschluss) or (Sonstige::ZufallGruppenObjekt != 1)"


    Gruß, Klaus

  • Moin,


    setz mal die Vergleichsvariablen in Klammern, …


    Habe ich versucht, ändert aber leider nichts daran, dass es nicht wie gewünscht angezeigt wird. Ich habe es mittlerweile auch mit mehreren Versionen getestet, sowohl im Editor als auch im Simulator - leider erfolglos.


    Gruss

    Miguel, ratlos ….

  • Moin,


    was genau geht denn nicht? Bei mir erscheint Teil 1 immer bei Helligkeit > 60% und Teil 2 immer. Bei der Zufallsvariable fehlt außerdem ein Wert, der das ganze auf eine Wahrscheinlichkeit begrenzt. "Sonstige::ZufallGruppenObjekt" wirft immer sehr große Zahlen aus, das kannst Du sehen, wenn Du auf das E klickst. Damit ist es immer ungleich 1, somit das helle Teil immer an. Du musst da noch etwas wie


    Sonstige::ZufallGruppenObjekt % 10 == 1


    verwenden. Das Beispiel wirft Dir den Rest der Division durch 10 aus, also eine Zahl zwischen 0 und 9. Und die kannst Du dann vergleichen, im Beispiel also mit 1, wodurch eine 10prozentige Chance besteht, dass es eine Störung gibt.


    Außerdem funktioniert die Gesamtformel bei Teil 2 nicht. Du gibts dort an, dass es leuchten soll, wenn es dunkel ist oder kein Betriebsschluss ist oder keine Störung auftritt. Mit hoher Wahrscheinlichkeit ist mindestens eins davon immer aktiv. Um wirklich exakt das Gegenteil von Teil 1 zu erreichen (das soll ja der Sinn sein), musst Du die gesamte Formel von Teil 1 nehmen, in Klammern setzen und das Ausrufezeichen davor, also korrekt müsste es sein:


    Teil 1: "WetterDaten::HelligkeitProzent > 60 or FahrplanVars::Betriebsschluss or ((Sonstige::ZufallGruppenObjekt % 10) == 1)"

    Teil 2: "!(WetterDaten::HelligkeitProzent > 60 or FahrplanVars::Betriebsschluss or ((Sonstige::ZufallGruppenObjekt % 10) == 1))"


    Gruß, Klaus


    P.S.: Meine Idee aus dem ersten Beitrag ist natürlich Blödsinn, die kam irgendwie nur auf, weil ich genau das in dem Moment selbst hatte, aber scheinbar doch keinen Einfluss hat.

  • Moin,


    was genau geht denn nicht? ...

    Guten Morgen


    Im Editor scheint es jetzt zu funktionieren, aber auf meiner Teststrecke habe ich im Fahrplan die Variable "Betriebsschluss" gesetzt, es sollte der U-Bahnwürfel um den es geht also dunkel sein, alleine, er strahlt noch immer als gäbs kein Morgen....


    Die Sichtbarkeiten sind mittlerweile genau so gesetzt, wie du oben vorgeschlagen hast, wobei der Zufallwert nur 1% beträgt.


    Gruß

    Miguel, noch immer ratlos

  • Moin,


    also zumindest mit der Betriebsschluss-Variable alleine kann ich das Problem nicht nachvollziehen. Spannenderweise ist sogar egal, ob ich die Variable im Fahrplan-Editor als "FahrplanVars::Betriebsschluss" oder nur als "Betriebsschluss" anlege, beides führt zum gewünschten Ergebnis. Stell doch mal bitte den Fahrplan mit fraglichem Objekt als Package rein, oder sende mir das als PN.


    Oder...moment...

    Die Sichtbarkeiten sind mittlerweile genau so gesetzt, wie du oben vorgeschlagen hast, wobei der Zufallwert nur 1% beträgt.


    Hast Du Sonstige::ZufallGruppenObjekt % 1 verwendet?


    Gruß, Klaus

  • Also:


    Das Objekt ist wie folgt gebaut:


    Objekt normal

    "WetterDaten::HelligkeitProzent > 60 || FahrplanVars::Betriebsschluss || ((Sonstige::ZufallGruppenObjekt % 100) == 1)"

    Objekt leuchtend

    "!(WetterDaten::HelligkeitProzent > 60 || FahrplanVars::Betriebsschluss || ((Sonstige::ZufallGruppenObjekt % 100) == 1))"


    Im Streckeneditor kann ich das Objekt mithilfe der "Erweiterte 3D-Ansichtsoptionen" mit Setzen oder Löschen der Variable "Betriebsschluss - True" an und auschhalten - YEAH!


    Im Fahrplan habe ich mittlerweile schon alles versucht - ehrlich gesagt gibt die Anleitung nicht besonders viel her dabei - also

    -Variable gesetzt

    -Variable gesetzt - Wert "true"

    -Variable gesetzt - Wert "True"

    -Variable gesetzt - Wert "1"


    Ergebnis, gleichbleibend


    [Blockierte Grafik: https://www.picflash.org/viewer.php?img=Betriebsschluss1JIX09K.png]


    :(


    Schönen Sonntag!

    Miguel

  • Hallo,


    true/True bringt meiner Kenntnis nach nichts. Es geht immer um 0 und 1 bzw. Nicht 0. Also alle Werte > 0 führen zu einem wahren Wert.


    Wie gesagt: bitte einmal Package mit Fahrplan.


    Gruß, Klaus

  • Ich halte es für einen Fehler - oder falsche Erwartungshaltung - vielleicht kann das Programm das gar nicht darstellen. Um Klärung wird gebeten.


    Den letzten Stand der zahlreichen Tests habe ich jetzt als Testpackage angefügt.


    - Der Würfel besteht aus 2 Objekten - normal oder leuchtend

    - Die Definition ist nunmehr

    WetterDaten::HelligkeitProzent > 60 or FahrplanVars::Licht == "Betriebschluss"

    oder

    !(WetterDaten::HelligkeitProzent > 60 or FahrplanVars::Licht == "Betriebschluss")

    also das genaue Gegenteil.


    Im Editor funktioniert das wie gewünscht, wenn ich unter "Erweiterte Ansicht" die Variable - FahrplanVars::Licht == Betriebsschluss wird der normale Würfel angezeigt.

    Die Fahrplan-Variable ist entsprechend gesetzt - aber im Hauptprogramm wird der leuchtende Würfel angezeigt.


    Gruß

    Miguel

  • Hallo Miguel,



    die Variable im Fahrplan muss "Licht" heißen, nicht "FahrplanVars::Licht". Dann funktioniert es wie gewünscht bei mir. Dass der Namensbereich "FahrplanVars::" selbsttätig vorneran gesetzt wird, geht ja aus dem Beschreibungstext im oberen Bereich des Fensters hervor.


    Gruß, Klaus

  • Hallo Klaus


    ja - funktioniert dann bei mir auch - danke


    Vielleicht sollte man das ein wenig deutlicher in die Anleitung schreiben, beim nächsten Update.


    Gruß

    Miguel

  • Hallo Miguel,

    Vielleicht sollte man das ein wenig deutlicher in die Anleitung schreiben, beim nächsten Update.

    ich hatte extra nochmal reingeschaut und fand es eigentlich eindeutig genug:



    Wie könnte es denn besser formuliert werden?


    Gruß, Klaus


    P.S.: Ich geb zu, dass mir das ganze Kapitel über die Sichtbarkeitssteuerung irgendwie nicht mehr so richtig gefällt. Das Beispiel mit dem Zugzielanzeiger sollte lediglich "on top" sein und die Funktionen vorher grundlegender erklärt werden. Mal schauen, wann ich Zeit und Muße für eine entsprechende Überarbeitung finde.