Hallo
Ich arbeite an einer App, in welcher Objekte aus einer eigenen Klasse abgeleitet werden, wleche sich frei auf dem Screen(Panel) bewegen sollen. (Schafherde) Die Klasse generiert dazu Imageviews.
Dazu brauche ich eine Funktion oder eine Möglichkeit, welche Kollisionen mit anderen Objekten erkennt. Ich möchte möglichst strikt bei OOP bleiben und deshalb auch auf eine Datenbank verzichten welche im Hintergrund die Positionen der einzelnen Objekte speichert.
Eine Zugriff auf die Positionen der anderen Objekte aus der Klasse heraus schliesse ich eigentlich auch aus, denn dann müsste ich der Klasse ja einen Verweis auf die anderen Objekte freigeben. Das widerspricht aber OOP. Die einzelnen Objekte sind dann nicht mehr unabhängig, sondern nur noch in diesem speziellen Umfeld nutzbar.
Ich stelle mir sowas wie direktes Abfragen des Screens vor, ob da schon gesetzte Pixel sind, auf die das Objekt zurennt.
Ich habe dazu keine Idee. Kennt jemand eine solche Möglichkeit?
Falls nicht. Hat vielleicht jemand eine andere Idee dazu?
Oder macht man so etwas gar vollkommen anders?
Ich arbeite an einer App, in welcher Objekte aus einer eigenen Klasse abgeleitet werden, wleche sich frei auf dem Screen(Panel) bewegen sollen. (Schafherde) Die Klasse generiert dazu Imageviews.
Dazu brauche ich eine Funktion oder eine Möglichkeit, welche Kollisionen mit anderen Objekten erkennt. Ich möchte möglichst strikt bei OOP bleiben und deshalb auch auf eine Datenbank verzichten welche im Hintergrund die Positionen der einzelnen Objekte speichert.
Eine Zugriff auf die Positionen der anderen Objekte aus der Klasse heraus schliesse ich eigentlich auch aus, denn dann müsste ich der Klasse ja einen Verweis auf die anderen Objekte freigeben. Das widerspricht aber OOP. Die einzelnen Objekte sind dann nicht mehr unabhängig, sondern nur noch in diesem speziellen Umfeld nutzbar.
Ich stelle mir sowas wie direktes Abfragen des Screens vor, ob da schon gesetzte Pixel sind, auf die das Objekt zurennt.
Ich habe dazu keine Idee. Kennt jemand eine solche Möglichkeit?
Falls nicht. Hat vielleicht jemand eine andere Idee dazu?
Oder macht man so etwas gar vollkommen anders?