zeichenmaschine/CHANGELOG.md

2.2 KiB

Changelog

Alle wichtigen Änderungen an diesem Projekt werden in dieser Datei dokumentiert.

Das Format basiert auf Keep a Changelog und diese Projekt folgt Semantic Versioning.

[Unreleased]

Added

  • Interface Audio extrahiert, mit Basisfunktionen von Sound und Music.
  • Klasse Mixer steuert mehrere Audio-Objekte gleichzeitig.

Changed

  • Neue Package-Struktur:
    • schule.ngb.zm.media für Audio-Klassen (und ggf. zukünftig Video).
    • schule.ngb.zm.tasks für alles Rund um Parallelität.
  • Zeichenthread und TaskRunner setzen die Namen der Threads für besseres Debugging.

Removed

Version 0.0.21

Added

  • Parameter stop_after_draw im Konstruktor der Zeichenmaschine erlaubt es beim Erstellen festzulegen, ob nach dem ersten Frame die Zeichenmaschine gestoppt wird.
  • Picture.tint(Color) färbt ein Bild ein.
  • Picture.flip(Options.Direction) spiegelt ein Bild entlang einer Achse (LEFT/RIGHT für horizontal, UP/DOWN für vertikal).
  • Abstrakte Klasse Zeichenobjekt als einheitliche Oberklasse für Objekte in Projekten. Die Klasse erbt von Constants und implementiert Drawabale und Updatable mit leeren Methoden.
  • Klasse java.util.Validator übernimmt intern Parametervalidierung.
  • Klasse Log implementiert eine einfache Logging-API über java.util.logging.
  • Klasse TaskRunner führt parallele Prozesse aus.
  • Zeichenmaschine#scheduleTask(Runnable, int) führt eine Aufgabe nach einer Wartezeit im Gameloop aus.
  • Neue Klasse util.ResourceStreamProvider sucht Resourcen und öffnet InputStreams.

Changed

  • Objektvariablen der Zeichenmaschine, die von Unterklassen genutzt werden sollen, sind nun statisch in Constants. Dadurch können auch andere Klasse, die von Constants erben ohne Umwege auf diese Werte zugreifen (z.B. width/height der Zeichenleinwand).
  • ImageLoader und FontLoader wurden überarbeitet.
    • Nutzung von Log
    • Nutzung von ResourceStreamProvider
  • Verarbeitung von Swing InputEvents in einer eigenen interne EventQueue synchron zur Framerate.