Emm si tienes razon, pero tengo otra duda, estoy usando SDL y C++ por primera vez y ando un poco perdido, esto es un ejemplo de lo que tengo.
Una clase que actua como director esta cambia de escena y ejecuta sus eventos, actualiza y dibuja digamos que es la que maneja todo:
Código C++:
Ver originalclass Director{
public:
int Inicializar(){
codigo...}
void Bucle(){
while...
codigo....
escena.Eventos();
escena.Actualizar();
escena.Dibujar(pantalla);
codigo...}
int CambiarEscena(Escena escenat){
Escena escena;
escena = escenat;
escena.Inicializar();}
void Quit(){
codigo...}
};
Tambien tengo una clase Escena que la uso como "modelo" para crear escenas todas las demas escenas herendan(no se si se diga asi) de esta:
Código C++:
Ver originalclass Escena{
public:
bool Inicializar(){}
void Eventos(){}
void Actualizar(){}
int Dibujar(SDL_Surface *pantalla){}
};
Todas las escenas tienen la misma estructura.
Entonces en el main lo que hago es esto:
Código C++:
Ver originalint main (int argc, char * argv []){
Director Dir;
EscenaIntro EsIn;
Dir.Inicializar();
Dir.CambiarEscena(EsIn);
Dir.Bucle();
}
Ahora el problema es que no me da error alguno todo me lo compila y ejecuta bien, pero por alguna extraña razon no ejecuta las funciones Eventos Actualizar y Dibujar de la EscenaIntro por que el bucle funciona, se repite y repite como cualquier bucle normal xD, pero no ejecuta las funciones de la escena, entonces si pongo el bucle y todo en el main sin pasar por el director todo funciona perfectamente.
Bueno espero me hallan entendido y me puedan ayudar.
Gracias por adelantado