erste frage
-
also kann sein dass ich hier total falsch bin:
ich habe eine klasse object, die aus einem Bild besteht und einem Sprite
class object { public : static sf::Image Image; // shared by every instance sf::Sprite Sprite; // one per instance static bool Init(const std::string& ImageFile); { return Image.LoadFromFile(ImageFile); } object(); { Sprite.SetImage(Image); // every sprite uses the same unique image } };soweit so gut, allerdings wenn ich versuche, die funktionen auszulagern
object::object() { Sprite.SetImage(Image); // every sprite uses the same unique image } static bool object::Init(const std::string& ImageFile) { return Image.LoadFromFile(ImageFile); }verursacht das regelmäßig fehlermeldeungen, woran liegt das?
oder anders gefragt:
ich möchte dass meine objecte sich eine bilddatei teilen, dass diese nicht jedes mal neu geladen werden muss;
also habe ich ein static element Image
ich möchte dass bei der kontruktion eines neuen objects dem sprite automatisch die eine bilddatei zugewiesen wird, ohne dass ich den dateipfad im konstruktor angeben muss; ideen? danke
-
Statische Klassenmember musst du ja auch noch irgendwo definieren. Wo machst du das?
Und wenn du schon sagst, dass es Fehlermeldungen gegeben hat, wäre es doch recht angebracht die auch zu posten..
-
hat sich erledigt;
-das schlüsselwort static muss in der ausgelagerten .cpp datei nicht mehr dabei sein
- hab vergessen in der .h datei ein #include anzugeben
- musste in der .cpp nochmal das bild angeben