Also mal ein bisschen Ordnungs ins Code-Kuddel-Muddel machen:
1)
Ist oder Hat-Beziehung?
Für Die Frage ob Vererben oder als Membervariable hilft ein einfacher Satz bzw. zwei:
Player ist ein Sprite bzw.
Player hat ein Sprite. Je nachdem, was besser passt hilft in der Regel. Ausserdem: Vererbung macht code manchmal kürzer, engt aber auch ein
2)
Wie baue ich eine Klasse auf?
Du kannst deine Klasse eigentlich wie in C++ aufbauen, mit dem Unterschied, dass du quasi nur in die "Header" schreibst. Das hat mir oft geholfen am Anfang. Ansonsten überlege dir, was dein Player können soll (Methoden) und was er dafür an Material braucht (Membervariablen). Wenn dir das nicht hilft: Galileo Computing - Visual C# 2008. Wenn das nicht Hilft: OOP lernen!
3) SFML ist in C# wie C++
Warum auch nicht? Es ist eine portierung und da wird halt soweit es geht alles übernommen.
4) Player soll als Sprite erkannt werden
Naja, du hast beide möglichkeiten aufgeführt, bis auf eine:
|
C-/C++-Quelltext
|
1
|
Player.Draw(App);
|
Welche du davon nimmst, ist deine Sache. Ich habe dir oben die Vor- und Nachteile genannt. Um Flexibel zu bleiben, würde ich die App Als Parameter nehmen. Allein, vllt stehen in der App noch andere dinge drin, diefür deinen Player interessant sind?
So far