Anuncios Google

SDL_Gorrister

Aplicaciones32 bits64 bitsLinuxOSxWindowsSRCPSPen

Public Release

El coder de la comunidad pspgorrister ha creado una abstracción de las librerías SDL, si alguna vez has usado "Simple Direct Layer" o has pensado en sumergirte en el mundo de la programación esto te puede resultar interesante. La abstracción funciona en Windows, Linux, Mac y PSP, además cuenta con algunos añadidos para hacer la programación más sencilla.

Autor: pspgorrister

Descripción

SDL_Gorrister es una Abstracción en C++ de las librerías SDL. Las SDL son comúnmente usadas para manejar gráficos usando los lenguajes C/C++.

Esta abstracción creada por pspgorrister ofrece un valor añadido a las librerías originales ya que pone al alcance de unas cuantas líneas de código funciones que de otra manera llevaría más tiempo conseguir diseñar y usar, por ejemplo brinda la posibilidad de usar efectos para las animaciones en apenas unos renglones, pero sobretodo, su uso brinda una mayor facilidad a la hora de programar, estructurar y leer código.

Es importante destacar que puede que no se adapte a las necesidades de todos los programadores pues la actual abstracción solo cuenta con funciones que el autor considera "necesarias" para realizar su trabajo, sin embargo tiene bien merecido que le brindes una oportunidad y pruebes su poder por ti mismo, puede que haga tu vida más fácil. Guiño

Las clases de las cuales actualmente SDL_Gorrister se compone son las siguientes:

  • CSDL: Es la clase principal, se encargar de gestionar la inicialización del modo gráfico, sonido, etc. También es la encargada de dibujar los distintos objetos en pantalla (sprites, mapas, ...).
  • CSurface: Es una zona de memoria que se puede dibujar. Un ejemplo sería una imagen cualquiera, que es una "superficie" de bits que se puede mostrar en pantalla.   
  • CSprite: Hereda de CSurface, un sprite es algo más que una simple imagen, tienen varios estados, direcciones de movimiento, animaciones, detección de colisiones...
  • CTtf: También hereda de CSurface, esta clase representa textos en fuentes True Type (.ttf), las mismas que podemos encontrar en Windows. Permite mostrar textos de forma fácil con diferentes modos de renderizado.
  • CMixChunck: Lleva los sonidos de los juegos, por ejemplo el ruido que se puede hacer al pulsar un botón, tocar algo, etc.
  • CMixMusic: Parecida al anterior, pero se encarga de gestionar una música de fondo.
  • CKey: Gestiona las teclas y botones.
  • CEvent: Clase para manejar los eventos del juego.

Si quieres entender de mejor manera cómo funciona esta abstracción o buscas un tutorial que enseñe su uso básico, es probable que quieras leer lo siguiente:

Nota del autor:
"Antes que nada, quiero decir que esto es un proyecto que todavía está en desarrollo, no obstante, lo he ido ampliando según he realizado trabajos adaptándolo a mis necesidades. Lamentablemente, no veo mucho movimiento de coders de C++ por lo que seguramente acabe en el olvido en SceneBeta. Si veo que hay un respuesta positiva por parte de los coders, intentaré terminarlo y documentarlo. Sino, a mí me va a seguir siendo útil, puesto que también se puede desarrollar no sólo para PSP, sino para Windows, Linux y Mac., seguiré desarrollando, pero "a mi ritmo" poniendo "features" cuando las necesite." - pspgorrister

Descargar SDL_Gorrister (Sólo Usuarios Registrados)

4.609755
Tu voto: Ninguno Votos totales: 4.6 (41 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de carlosgs

SDL_Gorrister

Hola pspgorrister!

Vi éste post hace tiempo, y ahora estoy empezando con SDL.

Estoy empezando a hacer un simulador de partículas, y estoy usando SDL con una librería de gráficos sencilla (http://sdl-draw.sourceforge.net/).

Pero todo lo he puesto muy básico, aún no he usado TTF ni gráficos mas allá de circulos (En realidad empezé a programar el simulador en la PSP, luego lo porté a PC usando como base el mismo ejemplo de uso de esa libreria...)

Como no tengo mucha experiencia en programación para PC, he decidido que voy a usar tu abstracción, ya que veo que dejará el código más legible y simple.

Te quería pedir si sería posible que hicieses un ejemplo simple mostrando cómo compilarlo para varios sistemas (yo he compilado sólo en linux, en PSP aún no he compilado nada, ni en windows), para así poder continuar el programa de forma compatible para todos los usuarios.

En concreto, lo que me parece mas importante es el soporte linux-windows (al ser un simulador de partículas es necesaria una gran velocidad de procesamiento), aunque sería genial poder compilar para MAC o, para cosas mas sencillas, en PSP.

Muchas gracias por tu ayuda.

Saludos!

Falta un archivo

Hola pspsgorrister ... estoy utilizando estas clases para interactuar con sdl ... las cuales agradezco de manera abierta. Sin embargo he encontrado el siguiente error

SDL_gorrister/SDL_gorrister.h:9:18: error: cmap.h: No existe el fichero ó directorio

Revise el codigo del archivo en cuestion y la linea 9 corresponde a el include del archivo

#include "cmap.h"

De esta forma quisiera saber si vos lo tenes o algo para poder continuar usando tus clases.

 

Muchas gracias de antemano.

Imagen de pspgorrister

En principio, lo que son las

En principio, lo que son las librerías compilarán en cualquier plataforma que soporte SDL. Si se hace algo para la PSP, sería poner entre las instrucciones específicas de PSP, include <pspkernel.h>, PSP_MODULE_INFO, etc

#ifdef PSP

Instrucciones específicas de PSP

#endif

Pero bueno, esto aún está muy verde, falta bastante como para ponerse a hacer algo serio con él, ni siquiera hay detección de colisiones. En el caso de SDL_Draw, habría que crearse nuevas clases deribadas de CSurface, como CPixel, CLine, CCircle, CFillCircle. Luego la forma de dibujarlas sería igual que una CSurface cualquiera.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Imagen de carlosgs

Podemos usar SDL_draw

Yo como te he comentado antes he usado SDL_draw, y viene con muchas funciones de dibujo sencillas, ¿para qué re-escribirlas?

He estado haciendo pruebas con devC++ y la verdad es que es genial, he podido compilar el codigo para windows en un momento...

En cuanto termine los examenes me pondré mas en serio con el programa y si eso haré algun tutorial con lo que aprenda.

Aún no he trasteado nada con tus librerias, pero lo haré xD

 

Saludos!

Imagen de pspgorrister

Yo no hablo de reescribirlas,

Yo no hablo de reescribirlas, tampoco he reescrito el SDL original, con crear esas clases, me refiero a poner una capa de abstracción para programar con clases, el funcionamiento interno (igual que el del SDL), es el mismo.

EDITADO: He estado viendo la librería y se ve muy interante, creo que me voy a animar a encapsularla en clases.


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

Imagen de carlosgs

OK

Ya sabia que no lo has reescrito. lo que pasa es que no sabia que SDL ya venía con algunas funciones de dibujos geométricos... como estoy empezando ahora aun no tengo todo muy claro :-S

Nunca antes he programado en C++, pero creo que con tus clases puede quedar todo el codigo mucho mas ordenado.

Saludos y gracias :-)

Imagen de klozz

orale me parece genial n_n

orale me parece genial n_n ahora que ando volviendo a empezar a programar en c++ :D saludos

Justo lo que andaba buscando...

Hace tiempo que buscaba un post similar para empezar a programar mis propios juegos, con esto podre hacerlo sin mayor problema, de antemano gracias.

Imagen de Guillermo_Cornielle

Acceso Denegado!

No me deja acceder al enlace.....me dice Acceso Denegado!...me gustaria saber k pasa

Imagen de the dragon lives

A mi me deja sin problemas

Intenta vaciar la cache he inténtalo de nuevo.

Imagen de Lord Hades

A mi también me da acceso

A mi también me da acceso denegado. Por si quieren ver el tuto, esta aquí: http://psp.scenebeta.com/node/49571

me parece que aun no lo pasan a portada o no se :S pero ahi lo tienen ;)


Imagen de Churristian8

A mi tambien me deja

A mi tambien me deja acceder al archivo.

Vaciad las caches, seguro que es por eso.

Saludos

Imagen de P22

+1

Eso

Imagen de P22

Una maravilla

Ahora que voy a empezar C++ y SDL me viene al pelo. Un saludo

Imagen de the dragon lives

Yo estoy empezando

Estoy dando mis primeros pasos en C++, aunque pronto quiero pasar a las SDL.

Saludos.

Imagen de P22

Te acuerdas de que pregunté donde empezar?

Aquí es lo mejor :)

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.