Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Menu de Juego en SDL con Clase C++

Estas en el tema de Menu de Juego en SDL con Clase C++ en el foro de C/C++ en Foros del Web. Hola a todos! Como algunos saben, he hecho un juego en C de dos autos que se pelean, en C, y lo he terminado. Sin ...
  #1 (permalink)  
Antiguo 11/11/2012, 07:06
 
Fecha de Ingreso: agosto-2012
Mensajes: 94
Antigüedad: 12 años, 3 meses
Puntos: 7
Menu de Juego en SDL con Clase C++

Hola a todos!

Como algunos saben, he hecho un juego en C de dos autos que se pelean, en C, y lo he terminado. Sin embargo, ahora quiero hacerlo en C++ para aprender a manejar las clases.

Sin embargo, por mas que lea y lea sobre clases, no entiendo como hacerlas funcionar. Solo pido que me expliquen como harian una clase para elegir entre tres opciones con las flechas del teclado y enter. Ademas, con ver el ejemplo para mi propio codigo supongo que voy a entender como funcionan.

Dejo el Code>

Cita:
#include "SDL.h"

const int WINDOW_WIDTH = 1000;//altura de ventana
const int WINDOW_HEIGHT = 700;//ancho de ventana
const char* WINDOW_TITLE = "Flying Fighting Cars";//titulo de ventana


SDL_Surface *screen, *pantalla, *nueva_partida, *instrucciones, *salir, *logo;
SDL_Event event;
SDL_Rect pantallar, nueva_partidar, instruccionesr, salirr, logor;



bool superwhile = true;

int main(int argc, char **argv)

{
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER);
screen = SDL_SetVideoMode( WINDOW_WIDTH, WINDOW_HEIGHT, 0,SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_FULLSCREEN);
SDL_WM_SetCaption( WINDOW_TITLE, 0 );
pantalla = SDL_LoadBMP("Pantalla.bmp");
nueva_partida = SDL_LoadBMP("NuevaPartida.bmp");
instrucciones = SDL_LoadBMP("Instrucciones.bmp");
salir = SDL_LoadBMP("Salir.bmp");
logo = SDL_LoadBMP("Logo.bmp");
while(superwhile)
{
pantallar.x = 0;
pantallar.y = 0;
pantallar.w = pantalla->w;
pantallar.h = pantalla->h;
SDL_BlitSurface(pantalla, NULL, screen, &pantallar);

nueva_partidar.x = 100;
nueva_partidar.y = 450;
nueva_partidar.w = nueva_partida->w;
nueva_partidar.h = nueva_partida->h;
SDL_SetColorKey(nueva_partida,SDL_SRCCOLORKEY|SDL_ RLEACCEL,SDL_MapRGB(nueva_partida->format,255,255,255));
SDL_BlitSurface(nueva_partida, NULL, screen, &nueva_partidar);

instruccionesr.x = 100;
instruccionesr.y = 500;
instruccionesr.w = instrucciones->w;
instruccionesr.h = instrucciones->h;
SDL_SetColorKey(instrucciones,SDL_SRCCOLORKEY|SDL_ RLEACCEL,SDL_MapRGB(instrucciones->format,255,255,255));
SDL_BlitSurface(instrucciones, NULL, screen, &instruccionesr);

salirr.x = 100;
salirr.y = 550;
salirr.w = salir->w;
salirr.h = salir->h;
SDL_SetColorKey(salir,SDL_SRCCOLORKEY|SDL_RLEACCEL ,SDL_MapRGB(salir->format,255,255,255));
SDL_BlitSurface(salir, NULL, screen, &salirr);

logor.x = 220;
logor.y = 200;
logor.w = logo->w;
logor.h = logo->h;
SDL_SetColorKey(logo,SDL_SRCCOLORKEY|SDL_RLEACCEL, SDL_MapRGB(logo->format,255,255,255));
SDL_BlitSurface(logo, NULL, screen, &logor);



SDL_Flip(screen);
SDL_FreeSurface(screen);


while(SDL_PollEvent(&event))
{
if ( event.type == SDL_KEYDOWN || event.type == SDL_QUIT)
{
superwhile = false;
}
}

}

SDL_Quit();
}
Aca esta el Codigo. Yo estaba pensando en una variable que sea 0, 1 o 2. En el sector private que este esa variable, en el sector public que este la funcion para cambiar la variable de opcion, y para detectar las teclas y detectar opcion elegida. entonces, si enter es presionado cuando la opcion es 0, se inicia nueva partida. cuando es 1, se inician las instrucciones y cuando es 2 sale del juego.

Por favor, me dais una mano.

Gracias, saludos!
__________________
Mi pagina Web: http://www.actiweb.es/simplecreations/
Desarrollo de Juegos para PC en 2D

Etiquetas: clase, funcion, int, juego, sdl, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:08.