Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

11

13.04.2011, 10:04

mein vorschlag: http://pastebin.com/QWj4hnXE
so kannst du das image mehrmals verwenden ohne es mehrmals im speicher zu haben.
das unterteilen in draw und update macht sinn weil du das oft nicht direkt hintereinander machen darfst/willst und zum beispiel bei einer pause nur die draw methode aufrufen kannst. dann wird das schiff gezeichnet aber es bewegt sich nicht.
versuch auch immer den konstruktor zum initialisieren zu benutzten. eine load methode kann man schnell mal vergessen, besonders wenn man die klasse nicht selbst geschrieben hat, aber den konstruktor kann man überhaupt nicht vergessen.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Fred

Supermoderator

Beiträge: 2 121

Beruf: Softwareentwickler

  • Private Nachricht senden

12

13.04.2011, 11:56

sf::Image ist eine recht speicherintensive Klasse. Darum gibt es auch sf::Sprite, die für die Verwaltung des angezeigten Bildes zuständig ist. Du solltest also auf jeden Fall das sf::Image aus deiner Klasse auslagern. Evtl. schreibst du dir auch einen kleinen Manager, der alle vorhanden Bilder verwaltet und bei Anforderung erst mal prüft, ob das Bild schon im Speicher ist und ggf. eine Referenz auf dieses Bild liefert.