Eine Ebene auf allen Ansichten
Ein gemeinsames Dekor, einmal geschrieben, statt in jede Ansicht kopiert.
Das Problem
Ein CRT-Schleier, ein Markenlogo, ein Rahmen: du willst ihn auf der Systemliste und auf der Spieleliste und auf dem Menü. Ihn in jede Ansicht zu kopieren funktioniert… bis zu dem Tag, an dem du nur einen davon änderst. Die anderen bleiben zurück, und nichts weist darauf hin.
Die Lösung
Rechtsklick auf die Ebene (oder das ⋯ des Inspektors) → „Auf allen Ansichten vorhanden“.
Die Ebene verlässt ihre Ansicht und wechselt zu den gemeinsamen Ebenen: es gibt nur noch eine einzige, geteilte. Sie von irgendwo einzustellen, stellt sie überall ein.
Um zurückzugehen: „Nur auf dieser Ansicht behalten“.
Was das ins Theme schreibt
Ein einziger Block, dessen Name die Ansichten auflistet:
<!-- global.xml -->
<view name="system, basic, detailed, menu, gameclip">
<extras>
<image name="voileCRT" extra="true">…</image>
</extras>
</view>
Die Maschine zerlegt diesen Namen an den Kommas und setzt das Element in jede Ansicht. Die Datei wird vor den Ansichten geladen: was überall gilt, ist ein Sockel, den eine Ansicht noch korrigieren kann.
Nicht zu verwechseln
„In ein anderes Layout duplizieren…“ ist etwas anderes: es kopiert die Ebene in ein anderes Layout derselben Ansicht (zum Beispiel „Vertikal links“ und „Horizontal“), und die zwei Kopien sind danach unabhängig.
⚠️ Der Ansichtsname
menuwird geschrieben, weil das Theme es verlangt, aber die Engine liest dort keine freie Komponente: die Ebene ist in den Menüs nicht zu sehen.
Beim Import findet ein Theme, das bereits einen Block über alle Ansichten schreibt, seine gemeinsame Ebene wieder. Ein Block, der nur einen Teil abdeckt, bleibt pro Ansicht aufgeteilt: er gilt nur dort, wo das Theme ihn hingesetzt hat.