idee wie man Objekte in regelmäßigen abständen spawnt in Python ?

2 Antworten

Sofern möglich, wäre es gut, Objekte wiederzuverwenden, statt durchgehend neue Instanzen zu erstellen. Das setzt allerdings voraus, dass die Objekte nach einer bestimmten Zeit oder Aktion (z.B. Kollision) verschwinden.

Lege dir beispielsweise eine Datenstruktur an, die nur eine begrenzte Anzahl an Objekten aufnehmen darf. Sobald das Limit erreicht wurde, werden keine neuen Objekte erstellt. Objekte, die verschwinden, werden neu positioniert.

Wie hoch du das Limit setzt, musst du ausprobieren oder du rechnest dir aus, wie oft die Objekte in der Fläche, in der sie erzeugt werden sollen, hineinpassen würden.

Um die Fläche sinnvoll zu füllen, sollte beim Positionieren der Objekte darauf geachtet werden, dass sie sich nicht (oder nur zu einem bestimmten Teil) gegenseitig überlagern (man könnte je Objekt einen Radius festlegen, in dem kein anderes neues Objekt positioniert werden darf). Es wäre zum Beispiel ungünstig, wenn sich drei Objekte auf der exakt selben Position befinden. Nutze bestenfalls einen Quadtree um die Objekte zu verwalten.

Außerdem würde ich schauen, inwiefern sich die Objekte Ressourcen teilen können. Wenn jedes Objekt eine Bildtextur/ein Sprite o.ä. hat, sollte dieses im Programm nur einmal geladen werden.

Bezüglich Kollisionsprüfungen u.ä. wäre es vorteilhaft, wenn die vom Spielerobjekt ausgehen (d.h. es wird nur geprüft, ob der Spieler mit einem anderen Objekt kollidiert ist, nicht andersherum). Ob sich das mit deiner Spiellogik deckt, musst du allerdings selbst prüfen.

Du kannst das sicher mit einer Zählervariable realisieren/ Limit setzen


Lebensoffen 
Beitragsersteller
 18.07.2024, 18:22

hmm objekte müssen aber dann auch wieder verschwinden und neue entstehen

0
Lebensoffen 
Beitragsersteller
 18.07.2024, 18:11

ahhh okay

0