Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: StraT en 03 de Marzo de 2005, 04:58:15 PM

Título: Sistema De Menu Sdl
Publicado por: StraT en 03 de Marzo de 2005, 04:58:15 PM
 He pensado que quizás a alguien le pueda servir este experimento que he hecho en SDL. Se trata de una simple pantalla de menú que utiliza el ratón. Funciona todo menos, obviamente, la opción de jugar. Aquí va una screen y debajo el proyecto con codigo y ejecutable. Saludos

(http://www.mundosgm.com/screen.JPG)

http://www.mundosgm.com/juego.rar
Título: Sistema De Menu Sdl
Publicado por: nsL en 03 de Marzo de 2005, 05:58:53 PM
 En el pc de la uni me va algo lento, pero porq es una patata. El menu esta chulo, aunq añadiria algun efecto, como una luz en el contorno de los botones cuando pongas el cursor encima. Y cambiaria el tipo de letra del titulo de arriba :P

Por lo demas ta chulo :P

¿q es un juego q tas desarrollando?

Saludos!  B)  
Título: Sistema De Menu Sdl
Publicado por: StraT en 03 de Marzo de 2005, 06:03:35 PM
 Yo siempre estoy desarrollando un juego, xD, nah, es una simple prueba, esto quedará en nada como el resto de cosas pero vaya, me aburría.


Saludos
Título: Sistema De Menu Sdl
Publicado por: Viento Salvaje en 07 de Marzo de 2005, 09:24:58 PM
 No está mal el código wapo =)

eso si, intenta hacer lo del efecto del ratón, incluso podrias poner que al pulsar un botón, se abriera el siguiente menú pero de una forma más Animada, habian juegos que tenian una rueda que la giraban y hacian aparecer el menu opciones.

Todo por aprender ^^

por cierto soy la hermana de Buffon pa quien no me conozca :)
Título: Sistema De Menu Sdl
Publicado por: StraT en 07 de Marzo de 2005, 09:31:27 PM
 Asias preciosa, ;)

Saludos
Título: Sistema De Menu Sdl
Publicado por: fiero en 07 de Marzo de 2005, 11:05:42 PM
 Te voy a hacer una crítica constructiva :).

Ultimamente todo el mundo programa las cosas en 2D como si se tratara de un Quake, o sea, dibujando constantemente toda la pantalla un montón de veces por segundo. Esto hace que las cosas estáticas como un menú que deberian ir como un tiro van lentiiiiisisimas. Recuerdo haber programado menús cutres a 640x480 con un 386 a 40 MHz, que iban 20 veces más rápido que tu menú en mi PIII 800 MHz.

Por favor, no te molestes ni te lo tomes a mal. Es simplemente una forma de programación generalizada que se a extendido devido a los miles de megaherzios que tenemos hoy en dia.

Si estás trasteando con estas cosas. Intenta hacer el mismo menú pero actualizando solamente las zonas que cambien. Por ejemplo, las cosas que se hacian "antiguamente":
- no tener un bucle de refresco contínuo, sino solamente cuando se mueve el ratón.
- cuando se mueve el ratón, dibujar el trozo de fondo en la anterior posición de éste y el ratón en la nueva
- dibujar los botones solo cuando cambien de estado, es decir, que salda o entre el ratón o se pulse.

¿Las funciones de SDL permiten poner solo trocitos de imagenes? Si es así, y haciendo lo anterior, se podria hacer que el menú le fuera 1000 veces más rápido a nsL en el ordenata de la uni :).

un saludo
Título: Sistema De Menu Sdl
Publicado por: Sacrifai en 07 de Marzo de 2005, 11:34:40 PM
Cita de: "fiero"¿Las funciones de SDL permiten poner solo trocitos de imagenes? Si es así, y haciendo lo anterior, se podria hacer que el menú le fuera 1000 veces más rápido a nsL en el ordenata de la uni :).
Si. podrías usar los dirty rectangles para actualizar lo que es donde está el texto.
Título: Sistema De Menu Sdl
Publicado por: nsL en 10 de Marzo de 2005, 09:46:33 AM
 SDL te aporta tb una funcion para actualizar el trozo de ventana qe quieras:


void SDL_UpdateRect(SDL_Surface *screen, Sint32 x, Sint32 y, Sint32 w, Sint32 h);


Es el metodo que te dan por si no soportas doble buffer. Aunq para esto serviria tb supongo.
Asi que ya sabeis todos! optimizar , q me aburro en la uni ;)

Saludos!  B)
Título: Sistema De Menu Sdl
Publicado por: Loover en 10 de Marzo de 2005, 10:29:45 AM
 O eso o utilizar una librería que use aceleración hardware... ejem.
Título: Sistema De Menu Sdl
Publicado por: nsL en 10 de Marzo de 2005, 11:06:36 AM
 
Citar
O eso o utilizar una librería que use aceleración hardware... ejem.
jejejejej
Título: Sistema De Menu Sdl
Publicado por: Sherpa en 10 de Marzo de 2005, 12:15:40 PM
Cita de: "Loover"O eso o utilizar una librería que use aceleración hardware... ejem.
screen = SDL_SetVideoMode(screenWidth,
                         screenHeight,
                         0,
                         SDL_ANYFORMAT |
                         SDL_FULLSCREEN |
                         SDL_HWSURFACE |
                         SDL_DOUBLEBUF);

Ya tienes aceleración por hardware con SDL... ;)  
Título: Sistema De Menu Sdl
Publicado por: StraT en 10 de Marzo de 2005, 12:31:33 PM
 Si, yo uso todas esas flags menos  SDL_ANYFORMAT que no se para que es, alguien me ilumina?

Saludos
Título: Sistema De Menu Sdl
Publicado por: Sherpa en 11 de Marzo de 2005, 10:02:23 AM
Cita de: "StraT"Si, yo uso todas esas flags menos  SDL_ANYFORMAT que no se para que es, alguien me ilumina?

Saludos
Si activamos el flag SDL_ANYFORMAT, en caso de que no se pueda inicializar el modo gráfico que hemos especificado (resolución y profundidad de color), inicializa el mejor modo posible (claro, que el mejor modo para SDL puede no ser el mejor para nuestro juego)   <_<  
Título: Sistema De Menu Sdl
Publicado por: chr2004aqp en 24 de Octubre de 2007, 09:43:47 PM
Y no tienes un ejemplo de como se podria hacer con un textbox para q ingresen el nombre y la contraseña

Sino mas o menos una idea de la logica para hacer funcionar esto