Mehrere Gegner sollen das gleiche Bild benutzen

Alph0r

Mitglied
Ich bin dabei eine Towerdefense zu programmieren. Die Gegner in einer Welle sehen alle gleich aus, ich habe mir gedacht, dass wenn ich immer neue Gegner erstelle, die Bitmaps jeweils neu geladen werden müssen. Es wäre besser, wenn ich das Bild ein mal lade und es an eine statische Variable binde. Macht das vorgehen so Sinn? Wird es überhaupt eine Performancesteigerung geben?
Machen es andere Programmierer auch so? Gibt es da eine best practice?
 
Man kann durchaus ein Bild mehrfach verwenden und es macht daher auch Sinn das zu tun.
Performancesteigerung? Denke ich nicht, man kann ja schließlich alle benötigten Bilder initial laden. Der benötigte Arbeitsspeicher wird dadurch aber geringer.
Ob man das an ein statische Variable bindet oder nicht, hängt vom Aufbau der Applikation ab. Ist grundsätzlich nicht notwendig, kann man aber machen.
 
Dasselbe Bild wiederverwenden ist sicherlich eine gute Idee. Das Programm wird nicht schneller (es sei denn du lädst die ganze Zeit neue Bilder), aber der Speicherverbrauch wird drastisch zurückgehen.

Ich bin kein grosser Befürworter von statischen Variablen. Aber in diesem Fall wäre es eine akzeptable Lösung.
Persönlich würde ich alle Bilder in einem speziellen Bilder-Listen-Objekt speichern (irgendeine eigene Klasse), und "static" wenn möglich vermeiden.
 
Oder noch besser: eine Map. Normalerweise vergibst du doch jedem Monstertyp irgendeine ID, mit der kannst du das Bild dann gleich referenzieren.
 

Zurück
Oben