Matrix formatiert falsch

Willkommen in der OMSI-WebDisk!
Als Gast kannst du nur Inhalte in deiner ausgewählten Sprache sehen. Registrierte Nutzer können die Sichtbarkeit anderer Sprachen in ihrem Kontrollzentrum aktivieren, weitere Infos hier.
Alle Themen sind in den Foren mit einer Sprachflagge gekennzeichnet: = Englisch [EN], = Deutsch [DE], = Französisch [FR]. Wenn du die angegebene Sprache nicht beherrschst, schreibe auf Englisch!
  • Hallo!


    Momentan versuche ich, die BVG LED Matrix so real wie möglich umzusetzen. Nun verzweifele ich gerade und komme dementsprechend nicht weiter. Ziel ist es, das für Front-/Seiten-/Heckmatrix die ersten 44px nur für die Linie sind, und der Rest für den Zieltext. Ich habe es zwar geschafft, dass der Zieltext bei den Pixeln ab 45 schildert, und die Linienzeichen auch drüberschreiben, aber der Zieltext nutzt die immer kleinere Schriftart.


  • Moin,

    was mir sofort auffällt ist, dass vor dem {if} durch 44 (S.L.Matrix_Xpos) die Zahl 44 in den Stack geladen wird, anstatt, wie gewollt, die verfügbare Breite mit der benötigten Textbreite zu vergleichen und somit eine 1 oder 0 auszugeben. Stattdessen wird hiermit also immer der selbe Wert geprüft, hier 44, der die Bedingung immer wahr werden lässt, also eine kleinere Schriftart wählt.

    Die Lösung ist wahrscheinlich ganz einfach. Einfach 44 (S.L.Matrix_Xpos) mit (L.$.Matrix_TerminusL1) (L.L.Font_Lawo_LED_32) s1 (M.V.TextLength) s2 l0 > vertauschen. Somit steht nun der ausgegebene Wert von 0 oder 1 wieder direkt vor dem {if}.

    Ich hoffe, das hat das Problem gelöst. :)

  • Ja hat es! Danke


    Jetzt noch eine andere Frage: Wie kann ich im Script den maximalen Abstand zw. den einzelnen Zeichen definieren, dass der z.B. max. bei 4 liegt? Ich hab mir das bei anderen Scripts angeguckt, bin aber nicht weiter gekommen.

  • Ich hab das jetzt eingefügt und angepasst, aber trotzdem wurd das nicht umgesetzt.


    Matrix_Zeichenabstand hab ich auch in den Fonts eingetragen


  • In dem Teil ist nirgendwo die Variable Matrix_Zeichenabstand gesetzt worden. Der Wert bleibt also bei 0, wenn auch nirgends anders die Variable gesetzt wird. Setz doch einfach mal eine 3 dort ein und schreib in der .oft eine 1 hin beim Abstand zwischen zwei Zeichen.

  • Achso, ja beim STTextOut Makro steht an der Stelle für die Sperrung eine 0. Die Stelle für die Sperrung liegt eine Zeile über dem zu schreibenden Text, hier (L.$.Matrix_TerminusL1_write). Um nun den berechneten Sperrungswert auch auf die Skripttextur zu schreiben, muss l3 statt der 0 in der Zeile für die Sperrung stehen.

    So, jetzt müsste es aber klappen! 😄