Ich will diese Methode so benutzen können, dass ich damit irgendwelche Grafiken den Variablen des Typs SDL_Surface zuweisen kann, zB background = loadimage("datei.jpg"); Allerdings funktioniert das objektorientiert so nicht, ungeachtet der Tatsache, dass in der Funktion main background gar nicht existiert. Ich müsste es dort definieren, aber wenn ich das tue, kennen die restlichen Methoden diese Variable nicht mehr, sofern ich sie nicht bei Aufruf auf konventionellem Weg übergebe und das kann ohnehin nicht der Sinn von Objektorientierung sein.
Dann definiere background in der Klasse gameclass, et voilá. Du wirst ja sicher wissen, welche Grafiken du laden und wo du sie benutzen willst.
Die Methode loadimage() hat davon abgesehen, zumindest auf den ersten Blick, auch nichts in gameclass zu suchen, sondern in der Klasse, die background einnimmt:
Ich habe mir auch fremden Quellcode, zB des Spiels sasteroids zu Gemüte geführt, und versucht die Programmierung dort zu verstehen. Hier werden irgendwie irgendwelche Methoden benutzt, um die Grafiken zu laden, also zB images[0].loadimage("datei.jpg");... usw.
Da benutzt man offenbar eine Klasse Grafik (oder wie immer sie heißt), die eine Methode loadimage() besitzt, die die Grafikdaten aus einer Datei liest. images ist ein Feld mit Grafik-Objekten, ähnlich deiner Variable background.
Javascript macht das übrigens genauso.
Wie müsste ich also die Objekte definieren, damit ich Grafiken diversen Variablen mithilfe einer Methode, also loadimage zuweisen kann?
Du solltest dir erstmal darüber klar werden, wo diese "diversen Variablen" hingehören.
Ich verstehe nämlich irgendwie nicht, wie ich in main überhaupt mehrere Klassen hinein bekomme, die "zusammenspielen",
Welche Klassen sollen denn wie miteinander zusammenspielen?
Grüngrüß.