Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:traffic:timetable:positions

Positionen

Im Fahrplan des Traffic Screensaver werden Positionsangaben verwendet, um einem Zug oder Zugteil mitzuteilen, wo er halten soll. Diese Angaben werden in der Fahrzeugbewegung entweder direkt oder als Zusätzlicher Parameter angefügt. Bestimmte Bewegungsarten haben mehrere Positionen, andere gar keine, weil keine Züge halten.

Außerdem dienen diese Positionsangaben als X-Koordinaten bei der Positionierung von Vorder- und Hintergrundbildern.

Positionsangabe relativ zum Bildschirm

Normalerweise wird die Position relativ zum Bildschirm bzw. zum in einer SECTION definierten Bildausschnitt angegeben. Hier gibt es grundsätzlich zwei Angaben. Die erste ist ein prozentualer Wert, der den Abstand vom linken Rand angibt. Hierbei entspricht 0 dem linken Rand, 100 dem rechten Rand. Die zweite Angabe bezieht sich auf die erste und gibt an, wieviele Pixel die eigentliche Position von dieser Prozentangabe entfernt ist. Dieser Wert wird tatsächlich in Pixeln angegeben, wirkt sich also um so geringer aus, je größer der Bildschirm bzw. der Ausschnitt ist.

Der erste Wert, der Prozentwert wird immer verwendet.

P=50

Bei diesem Beispiel ist die Position genau in der Mitte des angezeigten Laufwegs, also auf 50% der Länge.

Der zweite Wert wird zum ersten addiert bzw. davon abgezogen.

P=50+120

Diese Position befindet sich genau 120 Pixel rechts von der Mitte des Laufwegs.

P=50-120

Und diese Position ist 120 Pixel links davon. Im unwahrscheinlichen Fall, daß der Laufweg, begrenzt durch die $SECTION oder die Bildschirmgröße, insgesamt nur 240 Pixel lang ist, wäre das der linke Bildschirmrand, während es auf einem High-Definition-Bildschirm mit 1920 Pixeln in der Breite sich nur wenig auswirkt.

Eine interessante Anwendung ist die Entfernung vom Rand. Je größer der Bildschirm wird, desto mehr Platz wird bei einer reinen Prozentangabe verschenkt, weil mit der Bildschirmbreite bzw. der Breite des Ausschnitts auch der absolute Abstand wächst. Wenn man nun den Abstand vom Rand nicht in Prozent, sondern in Pixeln angibt, bleibt er konstant.

P=0+25

ist beispielsweise immer 25 Pixel vom linken Rand entfernt,

P=100-30

immer 30 vom rechten Rand.

Beide Werte können auch zufällig gewählt werden. Beim Prozentwert muß allerdings eine zusätzliche Maßnahme ergriffen werden, ein Pluszeichen muß angehängt werden, um eine Verwechslung mit einem subtrahierten Pixelwert auszuschließen.

P=40-60+

bedeutet, daß die Position sich auf 40 bis 60% der Länge befindet.

P=40-60

würde dagegen bedeuten, daß sich die Position 60 Pixel links von der 40%-Marke befindet.

Ein zufällig gewählter Pixelwert sollte in Klammern gesetzt werden.

P=100-(10-40)

Zusätzlich kann angegeben werden, ob sich die Position auf das linke Ende, die Mitte oder das rechte Ende des Zuges/Zugteils bzw. des Bildes bezieht. < steht für das linke Ende, * für die Mitte bzw. bei einigen Bewegungsarten die Stelle, an der zwei Zugteile gekuppelt sind, und > steht für das rechte Ende. Das Zeichen wird jeweils an den Anfang der Positionsangabe gestellt.

P=*50

Bei Zügen bzw. Zugteilen ist übrigens die Zugspitze Standard, wenn nichts angegeben wird, bei Vorder- und Hintergrundbildern die Mitte.

Positionsangabe relativ zur Fahrtrichtung

Wenn Züge auf dem Bildschirm halten oder rangieren, die zufällig aus beiden Richtungen kommen können, ist es nicht immer sinnvoll, die Position auf den Bildschirm zu beziehen, also als Nullpunkt den linken Bildschirmrand zu wählen. Man möchte vielleicht den Abstand der Zugspitze vom Bildschirmrand angeben. Wenn man nun so ein Konstrukt verwendet:

P=10

funktioniert dies wunderbar, wenn der Zug von rechts kommt; die Spitze des Zuges hält 10% der Laufwegslänge vom linken Rand entfernt. Allerdings tut sie das auch, wenn der Zug von links kommt, und dann ist kaum mehr als die Spitze des Zuges in einem ansonsten leeren Laufweg zu sehen.

Die Position kann aber auch von der Fahrtrichtung abhängig gemacht werden, indem nicht der Abstand vom linken Rand gemessen wird, sondern der vom Zug auf dem Bildschirm zurückgelegte Weg. Fährt der Zug von links nach rechts, bleibt alles beim alten; fährt er von rechts nach links, wird vom rechten Rand aus gemessen, und die Pixelwerte drehen sich auch um, d. h. Minuswerte gehen nach rechts. Mit @+ wird an der Spitze des Zuges gemessen, mit @* an der Mitte/Kupplungsposition, und mit @- am Zugschluß.

P=@+90

läßt den Zug 90% des Laufwegs in seiner Fahrtrichtung zurücklegen, ehe die Spitze dort zum Halten kommt.

P=@-0+30

läßt den Zugschluß 30 Pixel von der Seite stoppen, von der der Zug gekommen ist.

Abhängigkeit von Vorder- und Hintergrundbildern erzeugen

Eine Position, z. B. die Halteposition eines Zuges, kann auch bezogen werden auf eine Position, die durch Vorder- oder Hintergrundbilder in einer Variablen definiert ist (siehe auch dort. So kann man zum Beispiel einen Zug direkt vor einem Empfangsgebäude halten lassen, wo auch immer dies steht.

BG=M_STATION1:20-80=Bahnhof

M=STOP;P=*Bahnhof

Hier wird das ungarische Bahnhofsgebäude irgendwo auf 20 bis 80% des Bildschirms positioniert, und die Zugmitte hält immer genau davor, weil die Mitte des Zuges (P=*Bahnhof) immer an der Mitte des Bahnhofsbildes (20-80=Bahnhof) gestoppt wird.

Oder man kann einen Prellbock aufs Gleis setzen:

FG=BOCK1,<0+20= >Prellbock

und einen Zug kurz davor halten und umkehren lassen.

M=BACK;D=L;P=<Prellbock+20

In diesem konkreten Beispiel wird der Prellbock mit seinem linken Ende 20 Pixel vom linken Bildschirmrand positioniert (<0+20), sein rechtes Ende als Positionsvariable „Prellbock“ gespeichert (= >Prellbock) und diese dann bei der Angabe der Halteposition des linken Zugendes, 20 Pixel vom Prellbock entfernt, verwendet (P=<Prellbock+20).

Selbstverständlich lassen sich Haltepositionen nur von der X-Koordinate eines Vorder- oder Hintergrundbildes abhängig machen.

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden.
Weitere Information
de/traffic/timetable/positions.txt · Zuletzt geändert: 2019/01/29 22:31 von marting