Also, ich habe eine Nachrichtenschleife in denen ich gerne Callbackfunktionen zum Rendern und Bewegen nutzen möchte. Nur möchte ich diese Funktionen ungern 'global' erstellen, sondern als Klassenfunktionen.
David nutzt ja einen Trick, indem er globale und Klassen-Render-Move-Funkionen erstellt und an die TriBase-Schleife weiterreicht. Das kann er machen, da er ja auch viele globale Variablen nutzt und somit in den globalen Funktionen auf die Direct3DInit-Klasse (und somit letztendlich auch auf die Methoden) zugreifen kann.
Ich hingegen möchte gerne komplett auf globale Variablen verzichten (was bis jetzt auch gut funktioniert), dann meckert der Compiler aber, dass er die übergebenen Funktionen nicht konvertieren kann.
Bsp:
Die Schleife hat den Funktionskopf:
BOOL RenderMoveLoop (BOOL (*RenderProc)(float), BOOL (*MoveProc)(float));
Die Klassenmethoden sehen so aus:
CEngine::Render(float fTime);
CEngine::Move(float fTime);
Ich habe es schon mit CALLBACKs versucht, bin daran aber gescheitert.
Kann man es also überhaupt ohne globalen Funktionen/Variablen hinbekommen?
Wäre für ne Antwort dankbar. Meinetwegen reicht auch ein Hinweis. Vielleicht übersehe oder vergesse ich gerade was.
MfG,
Paul.
EDIT: Da stellt sich mir doch die Frage, ob ich überhaupt eine Schleifenfunktion ausserhalb brauche? Ich kann doch einfach die Schleife in eine Methode packen....