User Tools

Site Tools


action-example-lcimg-de

Blockbelegung als Lokbild

Beschreibung

Es wird eine Möglichkeit beschrieben, wie die Blockbelegung zusätzlich mit einem Bild der Lok angezeigt werden kann.

Die Steuerung erfolgt über Aktionen, die durch Ereignisse bzw. Zustände eines Blocks ausgelöst werden.

Die Anzeige erfolgt in einem Text-Objekt, das im Gleisplan z.B. direkt über oder unter dem Block-Symbol angeordnet wird.

Das Beispiel verwendet den Block b1, unter dem ein Text-Feld b1 Textfeld gleicher Größe (4x1 Rasterfelder) positioniert ist.

Anpassen der Bildgröße

Die regulären Lokbilder sind für ein Text-Feld mit einer Höhe von 1 Rasterfeld zu groß.

Deshalb werden mit einem Bildbearbeitungs-Programm von den Lokbildern Daumennagel(thumbnail)-Kopien mit 32 Pixel Höhe erzeugt.

Damit diese Bilder im gleichen Unter-Ordner images gespeichert werden können, wird dem Original-Dateinamen der Prefix th- vorangestellt.

Beispiel: br89.png mit 160x80 Pixel wird mit 64x32 Pixel als th-br89.png gespeichert.

Hat das Text-Feld die Größe 4x1 Rasterfelder (wie das Blocksymbol), kann das reduzierte Lokbild bis 128x32 Pixel haben.

Damit die Bilder zentriert erscheinen, sollte eine zu geringe Bildbreite bei der Bearbeitung an den Seitenrändern mit Freiflächen bis zur Textfeldbreite aufgefüllt werden.

(Das ist hier bei dem gezeigten Beispiel noch nicht berücksichtigt.)

Einrichtung der Aktionen

Der Dialog zur Einrichtung der Aktionen wird über das Menü Tabellen→Aktionen… aufgerufen.

Die Aktion b1 Lokbild ist vom Typ text, mit der Kennung des Text-Feldes b1 Textfeld, dem Befehl update und dem Parameter th-%lcimg%.

In den Eigenschaften jeder Lok ist der Name einer Bilddatei definiert. Die Variable %lcimg% enthält diesen Namen von der Lok, für die der Block die Aktion auslöst.

Damit das oben beschriebene reduzierte Lokbild verwendet wird, muss natürlich auch hier der Prefix th- vorangestellt werden.

Zu jeder Aktion, die ein Lokbild einfügt, wird auch eine weitere Aktion benötigt, die das Bild aus dem Text-Feld entfernt, wenn die Lok den Block verlassen hat.

Diese zweite Aktion b1 Lokbild frei ist wie die erste definiert, nur das Parameter-Feld bleibt leer.

:!: Weil das zugeordnete Textfeld statisch ist, müssen für jedes Textfeld, dass ein Lokbild zeigen soll, jeweils beide Aktionen eingerichtet werden.

Einrichtung der Aktionssteuerung des Blocks

In den Eigenschaften des Blocks b1 wird über die Schaltfläche "Actions…" der Dialog zur Aktionssteuerung aufgerufen.

Den beiden zuvor definierten Aktionen werden hier die auslösenden Ereignisse bzw. Zustände zugewiesen

Die Aktion b1 Lokbild wird mit dem Status enter eingetragen.

Die Aktion b1 Lokbild frei wird mit dem Status free eingetragen.

Funktion der Aktionen

Beim enter-Ereignis schreibt Aktion b1 Lokbild den Dateinamen des reduzierten Lokbildes in das Textfeld.

Dieser Text wird als Name einer Bilddatei erkannt und das Bild wird angezeigt.

Erhält der Block den Status free (die Lok ist im Folgeblock angekommen), schreibt Aktion b1 Lokbild frei das leere Parameterfeld in das Textfeld, löscht also vorherige Einträge.

Ein zuvor angezeigtes Bild oder ein Text verschwindet.

So sieht es aus

Hier hat die "89er" gerade den Rückmelder r1 aktiviert, der das enter-Ereignis für Block b1 erzeugt und damit die Aktion b1 Lokbild auslöst.

Diese Aktion fügt den mit dem Parameter übergebenen Text th-br89.png in das 4x1 Rasterfelder breite Text-Feld unter dem Block ein.

Dieser Text wird als Name einer Bilddatei erkannt und das Bild wird angezeigt.

Hinweis

Das Potenzial ist noch nicht ausgeschöpft.

Es können weitere Aktionen definiert werden, die mit Aktionssteuerungen aufgerufen werden, in denen zusätzliche Bedingungen enthalten sind.

Damit können gespiegelte oder anders bearbeitete Bilder mit jeweils anderen Prefixen, z.B. die Fahrrichtungen, Platzierungen und andere Situationen darstellen.

Als kleine Spielerei könnte die Aktion b1 Lokbild frei anstelle des leeren Text-Feldes, die Bilddatei "Wartende_Preiserlein_auf_dem_Bahnsteig.png" darstellen lassen.


action-example-lcimg-de.txt · Last modified: 2018/11/12 08:56 by 127.0.0.1