Hallo,
so wie es aussieht machst du da in Zeile 52 ein neues Objekt mit Namen "melody", das ist nicht das selbe wie das Objekt in der Klasse.
Um das in der Klasse zu initialisieren kannst du die Konstruktorenparameterliste verwenden, so wie du es mit
app auch schon gemacht hast.
Ich vermute mal, dass dein
Game-Konstruktor dann auch schon sehr bald aufhört.
Wenn du mal im Tutorial über Sound und Musik schaust (
sfml-dev.org/tutorials/2.5/audio-sounds.php), dann findet man kurz vor dem Abschnitt "Playing a music" die folgende Hinweisbox:
In Zeile 54 kopierst du
Atone in den lokalen Vektor rein, der dann schließlich am Ende des Konstruktors nicht mehr existiert.
Das könnte zumindest ein Problem sein warum der Sound nicht abspielt wenn du es in eine Klasse kapselst, statt alles in der
main zu haben.
MfG,
Checkmateing