Erstellen eigener Animationen
Das Tool lädt standardmässig eine Steuerdatei mit Namen „animations.properties“. Diese befindet sich im gleichen Verzeichnis wie das Programm selber.
Die Datei ist gemäss des Java Standards für Property Dateien aufgebaut, d.h. Zeilen fangen mit „Namen“ oder Keys an, dann kommt ein Gleichheitszeichen „=“ gefolgt von einem Wert.
Neben ein paar allgemeinen Keys am Beginn der Datei, haben die Keys immer einen Punkt im Namen. Links vom Punkt befindet sich der Name der Animation, rechts der Name der Eigenschaft.
Beispiel: logo.start=1
Die Animation heisst „logo“ und das Attribut start hat den Wert 1.
Wichtig: in einer Properties Datei müssen alle Animationen eindeutig benannt sein. Es darf also kein Namen zweimal verwendet werden.
Eine Animation kann aus unterschiedlichen Quellen erstellt werden:
- eine Folge von PNG Bildern mit der Auflösung 128×32
- eine DMDF Datei
- ein Animiertes GIF mit der Auflösung 128×32
Zu jeder Animation gehört ein Abschnitt in der Property Datei, die die Animation beschreibt. Pfadangaben beziehen sich immer auf den Basispfad. Wenn weiter nichts gesagt ist ist der Basispfad identisch mit dem Programmverzeichnis. Alternativ kann in der Properties-Datei mit dem Key „basepath“ ein anderer Basispfad eingestellt werden.
Mögliche Keys und deren Bedeutung
Im Folgenden verwende ich als Namen der Animation immer „ani“ (z.B. ani.start=… ). Aber bitte daran denken, dass für weitere Animationen unterschiedliche Namen verwendet werden müssen. Groß- Kleinschreibung ist übrigens relevant, d.h. „Ani.start“ ist nicht das gleiche wie „ani.start“
ani.path
: der Dateipfad unter dem die Bildfolge / das Bild zu finden ist. Relativ zum Basispfad.ani.start
: Nummer des Bildes mit dem die Animation startet. Dies muss nicht notwendigerweise die 1 sein, wenn das Verzeichnis mehr Bilder enthält als zu dieser Animation gehörenani.end
: Nummer des Bildes mit dem die Animation endet. Start und Ende kann man auch in hexadezimaler Schreibweise angeben. z.b. 0x0A für 10.ani.step
: Schrittweite beim Hochzählen der Bildfolge. Gibt man hier 2 an, wird nur jedes zweite Bild zur Animation hinzu gefügt.ani.hold
: Anzahl der Schritte, die die Animation am Ende bevor wieder zur Uhr umgeschaltet wird, stehen bleiben soll.ani.millisPerCycle
: Wartezeit in Millisekunden von einem Bild zum nächsten. Bestimmt die Geschwindigkeit der Animaton. Sinnvolle Werte sind 100 oder grösser.ani.cycles
: Eine Animation kann wiederholt werden, bevor wieder zur Uhr umgeschaltet wird. Für zweimal durchlaufen steht dafür ani.cycles=2 usw.ani.type
: Kürzel der die Art der Quelle beschreibt`: PNG für PNG Bildfolge, GIF für Animiertes Gif, DMDF für DMDF File.ani.clockFrom
: wenn das gesetzt ist, dann gibt man die Nummer des Bildes an ab der während der Animation die Uhr wieder einscheinen soll. Beispiel`: Hat die Animation 10 Bilder und clockFrom=5, dann erscheint nach der Hälfte der Animation bereits wieder die Uhr.ani.clockSmall
: falls auf true gesetzt, wird während der Animation eine kleine Uhr angezeigt (kleinere Schrift). Default ist gross.ani.fsk:
definiert die Altergrenze für diese Animation. Wenn die Szene nicht für Kinder geeignet ist, dann hier bitte 18 oder 16 einsetzen. Mögliche Werte 18,16,12 und 6. Default 16.ani.clockInFront
: falls auf true gesetzt, wird während der Animation die Uhr vorne angezeigt, also ohne “Ausstanzen” der maske. Je nach Animation passt vorne oder dahinter besser. Default ist im Vordergrund. Funktioniert nur zusammen mit clockFrom.ani.clockXOffset
undani.clockYOffset
: nur bei kleiner Schrift der Uhr während der Animation zu verwenden. Definiert die Stelle wo die Uhr eingeblendet wird.ani.clockFront
: wenn auf true gesetzt, dann erscheint die Uhr während der Animation im Vordergrund und nicht dahinter. Nur zusammen mit clockFrom.- `ani.thresholds.0, ani.thresholds.1 und ani.thresholds.3 definiert drei Helligkeitsstufen zwischen 0 und 255, die benutzt werden um farbige oder Bilder mit vielen Graustufen auf das DMD mit seinen vier Farben umzurechnen. Braucht man nur beim PNG oder GIF, wenn die Bilder allgemein zu hell oder zu dunkel sind. Alternativ könnte man auch an den Bilder was ändern mit einem Bildverarbeitungsprogramm.
ani.autoMerge
: wenn auf true gesetzt zusammen mit step=2, dann werden zwei aufeinander folgende Bilder zu einem zusammen gefasst. Das erste Bild liefert die Helligkeitsstufe 1, das zweite die Stufe 2. Bilder die direkt auf einem ROM extrahiert werden, liegen genau in diesem Format vor, so dass man mit diesem Schalter direkt damit arbeiten kann.ani.pattern
: legt das Namensmuster fest wie die Dateien der Bildfolge benannt sind. Darin erscheint immer ein „%-Platzhalter“ für die fortlaufende Zahl. Beispiel „logo%d“ wird zu „logo1.png“, „logo2.png“ usw. Benutzt werden eigentlich nur zwei „%d“ oder „%04X“. Wer genau wissen will was man alles damit machen kann, möge unter „Java String Formatter“ nachschlagen.
Mit diesen Keys baut man mit einem normalen Texteditor seine Animationen zusammen und kann sie dann mit einem „Load“ direkt im Tool anschauen. „Load“ lädt immer alle Animationen neu, d.h. die Änderung kommt vielleicht nicht gleich als erstes dran.
Compile
Mit einem Click auf „Compile“ werden alle Animationen in ein einzelnes File „foo.ani“ gepackt, welches dann nur noch auf die SD Card kopiert werden muss.