Commit Graph

187 Commits

Author SHA1 Message Date
99d0e702aa eventDispatch nur nach initialisierung aufrufen 2022-07-11 22:09:00 +02:00
5557030e0d Delayed initialization auch für Music Klasse 2022-07-11 14:41:58 +02:00
855d67c873 AnimationListener 2022-07-11 14:41:45 +02:00
bc791a9dc3 Merge branch 'anim' into events 2022-07-11 14:08:03 +02:00
921e2fb3ef An Gradle Struktur angepasst 2022-07-11 14:06:47 +02:00
944249ce82 Merge branch 'main' into anim
# Conflicts:
#	src/main/java/schule/ngb/zm/tasks/DelayedTask.java
#	src/main/java/schule/ngb/zm/tasks/FrameSynchronizedTask.java
#	src/main/java/schule/ngb/zm/tasks/FramerateLimitedTask.java
#	src/main/java/schule/ngb/zm/tasks/RateLimitedTask.java
#	src/main/java/schule/ngb/zm/tasks/Task.java
2022-07-11 14:05:46 +02:00
e1f01fe620 Auf Gradle Struktur angepasst 2022-07-11 14:03:21 +02:00
9f56b49fb7 Merge branch 'main' into events
# Conflicts:
#	src/main/java/schule/ngb/zm/media/AudioListener.java
#	src/main/java/schule/ngb/zm/media/Mixer.java
#	src/main/java/schule/ngb/zm/media/Music.java
#	src/schule/ngb/zm/media/Sound.java
2022-07-11 14:00:37 +02:00
ec8e5cea91 API angepasst und Javadoc verbessert 2022-07-11 13:53:15 +02:00
6a2adc9d4d Mehr Javadoc Korrekturen 2022-07-11 08:22:47 +02:00
2c322eb678 Javadocs angepasst und Fehler behoben 2022-07-11 08:18:52 +02:00
b60ffa9ef3 Projektstruktur an Gradle angepasst 2022-07-10 22:46:55 +02:00
0a72b97d56 Gradle initialisiert 2022-07-10 22:46:27 +02:00
54762cb3e6 enabelGlobalDebugging verbessert 2022-07-09 21:01:56 +02:00
2e5d5d7e83 Debug Nachricht beim shutdown 2022-07-09 21:01:39 +02:00
43c5b9f28e Fehler beim erstellen eines AudioStreams behoben 2022-07-09 21:01:01 +02:00
62f221e18e BlueJ Testprojekt entfernt 2022-07-09 21:00:11 +02:00
b3ff1a507e Tests auf Junit5 angepasst 2022-07-08 16:36:33 +02:00
b575c47ab3 Neue Easing funktionen 2022-07-08 08:52:31 +02:00
447accc567 Animationen nutzen FrameSynchronizedTasks 2022-07-08 08:01:53 +02:00
2de37e5501 Merge branch 'tasks' into anim 2022-07-08 08:01:35 +02:00
98a62f35cd initialize und finish methoden für Tasks 2022-07-08 08:01:24 +02:00
a52125aeb2 Merge branch 'tasks' into anim 2022-07-08 07:53:01 +02:00
476545f721 Changelog 2022-07-08 07:52:39 +02:00
a8bbce72a2 DelayedTask wartet selbstständig 2022-07-08 07:52:35 +02:00
ced0aa6842 Synchronisation über einen globalen Monitor 2022-07-08 07:44:49 +02:00
d48b167fb3 Renamed generator to dispatcher 2022-07-08 07:31:37 +02:00
e4818d4f3e Abstraktion für Listener API erstellt
EventGenerator soll als einheitlicher Unterbau zur Umstzung von Listener Patterns dienen. Damit sollen Listener wie AudioListener oder AnimationListener umgesetzt werden.
2022-07-07 21:45:08 +02:00
9ee7c606fe Implementierung verschiedener Task-Typen
Die Tasks erfüllen verschiedene Aufgaben und können vom TaskRunner parallel ausgeführt werden. Ob ein so komplexes Task-Management notwendig ist, bleibt offen.
2022-07-07 21:18:45 +02:00
303b667cbf Tests für Animationen 2022-07-07 15:45:25 +02:00
2f59d29d08 Animationen als eigener Prozess
Die Animations API verwendet Funktionale Aspekte der Java 8 API und erlaubt die Animation beliebiger Objekte, aber ist vor allem auf die `shape.*` Klassen ausgelegt.
2022-07-07 15:44:36 +02:00
fc7ee36367 Implementierung von Easing-Funktionen
Die Implementierungen wurden von https://easings.net übernommen.
2022-07-07 15:42:47 +02:00
3030445dcf Changelog 2022-07-07 09:21:39 +02:00
b6b8263e5e Reference auf TextBox entfernt 2022-07-07 09:20:36 +02:00
49ad98fd82 Namen der Threads gesetzt, für leichteres Debugging 2022-07-07 09:20:01 +02:00
1e552d6bc2 Changelog 2022-07-07 08:08:36 +02:00
4e147586e4 Audio Interface ud Mixer Klasse 2022-07-07 08:08:28 +02:00
5213dbb7e9 Formatierung 2022-07-06 22:18:00 +02:00
ed2c14a143 Dokumentation 2022-07-06 22:17:50 +02:00
f9f1cfed24 LineChart auf ChartValue interface umgestellt 2022-07-06 22:17:42 +02:00
e78ec53a53 Merge branch 'main' into charts 2022-07-06 21:29:58 +02:00
c5dd889406 Refactoring der Package-Struktur 2022-07-06 21:27:52 +02:00
a94194daf1 Beispielprojekte zur ZM entfernt
Die Projekte werden in einem eigenen Repository (zeichenmaschine-examples) neu veröffentlicht.
2022-07-06 21:23:44 +02:00
4ad24fc523 Changelog angepasst 2022-07-06 21:15:47 +02:00
e42b02763a width / height umbenannt, damit Constants nicht überschrieben werden
Dies ist ein generelles Problem. Wenn in Objekten die von Constants erben width und height als Objektvariablen genutzt werden sollen, ist die Größe der Zeichenleinwand nicht mehr direkt abrufbar.

Ggf. sollten die Variablen in Constants spezifischer benannt werden (z.B. `zmwidth` oder `canvaWidth`).
2022-07-06 21:15:23 +02:00
df335c8ff2 Weitere Methoden zum hinzufügen und entfernen von Shapes 2022-07-06 21:13:18 +02:00
28d996859a Versionsnummer angepasst 2022-07-06 21:12:57 +02:00
a400829594 updateGame als globale update Methode der Spielemaschine 2022-07-06 21:12:41 +02:00
b5faf202b8 Klassen Sound und Music zur Audiowiedergabe
Sound spielt kurze Clips (z.B. Soundeffekte) ab.
Music für längere Hintergrundmusik.

MP3s werden nur über die Einbindung der externen Abhängigkeiten jlayer, tritonus-share und mp3spi ermöglicht.
2022-07-06 20:46:49 +02:00
950098110f Eine TaskQueue in der Tasks geplant werden können
Es können Tasks (Runnables) für die geplante Ausführung (z.B. in 100 ms) übergeben werden. Die Tasks werden dann jeweils am Ende eines Frames abgearbeitet. Bei Bedarf auch parallel mit dem TaskRunner.

Das System sollte noch einmal Refactored werden. (Und ggf. auch auf seine Sinnhaftigkeit geprüft werden.)
2022-07-06 20:41:34 +02:00