Ich schreibe derzeit die Grundlagen für ein paar 2D Spiele in Java.
Hierzu möchte ich meiner Objekt Klasse, die die Basis aller Objekte der Spielwelt zur Verfügung stellt die Funktionen von MouseListener zur Verfügung stellen. Das heißt ich würde gerne wissen, wann der Mauszeiger eine Objekte betritt/verlässt/es anklickt/etc.
Dieses Problem hab ich früher unter Delphi mit der Kollisionsabfrage gelöst. 1 Pixel Objekt Mauspunkt gegen alle Objekte der Spielwelt sozusagen. Klappt zwar, kommt mir aber irgendwie plump vor.
Macht es also Sinn, diese Basisklasse meiner Spielweltobjekte von MouseAdapter erben zu lassen ? Und wie krieg ich dann raus, wann die Events ausgelöst werden müssen ?
Meine Objekte zeichnen sich als Image mit drawImage abhängig von Größe und Position. Ich vermute mal das es keine Möglichkeit gibt, ausser zu testen ob das angeklickte Pixel sich auf einem nicht transparenten Pixel eines Objekts befindet ?
Hierzu möchte ich meiner Objekt Klasse, die die Basis aller Objekte der Spielwelt zur Verfügung stellt die Funktionen von MouseListener zur Verfügung stellen. Das heißt ich würde gerne wissen, wann der Mauszeiger eine Objekte betritt/verlässt/es anklickt/etc.
Dieses Problem hab ich früher unter Delphi mit der Kollisionsabfrage gelöst. 1 Pixel Objekt Mauspunkt gegen alle Objekte der Spielwelt sozusagen. Klappt zwar, kommt mir aber irgendwie plump vor.
Macht es also Sinn, diese Basisklasse meiner Spielweltobjekte von MouseAdapter erben zu lassen ? Und wie krieg ich dann raus, wann die Events ausgelöst werden müssen ?
Meine Objekte zeichnen sich als Image mit drawImage abhängig von Größe und Position. Ich vermute mal das es keine Möglichkeit gibt, ausser zu testen ob das angeklickte Pixel sich auf einem nicht transparenten Pixel eines Objekts befindet ?