SlideShare ist ein Scribd-Unternehmen logo
1 von 98
SDL Simple Direct Media Layer Carlos Manzanas Navia (revisar)
SDL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
0 Introducción ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1 Subsistemas: Primer vistazo Visión general ,[object Object],Timers Threads CDROM Audio Joystick Manejador de eventos Video Temporizadores. Programación multi-hilo. Audio y datos de CDROM. Sonido. Control de mandos y joysticks. Control de eventos. Subsistema de video.
1 Subsistemas: Primer vistazo Visión general
1 Subsistemas: Primer vistazo Video ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1 Subsistemas: Primer vistazo Manejador de eventos ,[object Object],[object Object]
1 Subsistemas: Primer vistazo Joystick ,[object Object],[object Object],[object Object],[object Object]
1 Subsistemas: Primer vistazo CDROM ,[object Object],[object Object]
1 Subsistemas: Primer vistazo Audio ,[object Object],[object Object],[object Object]
1 Subsistemas: Primer vistazo Threads ,[object Object],[object Object]
1 Subsistemas: Primer vistazo Temporizador ,[object Object],[object Object]
1 Subsistemas: Primer vistazo Inicialización
1 Subsistemas: Primer vistazo Inicialización ,[object Object],[object Object],[object Object],[object Object],¿Hilos? ¿Eventos? No necesitan ser inicializados. Uint32 es un tipo de entero de tamaño independiente del sistema. Unsigned: Sin signo Signed: Con signo 8,16,32,64: tamaño en bits.
1 Subsistemas: Primer vistazo Inicialización ,[object Object],[object Object],[object Object],[object Object],[object Object]
1  Subsistemas: Primer vistazo Inicialización ,[object Object],[object Object],[object Object],[object Object],[object Object]
1  Subsistemas: Primer vistazo Inicialización ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
1 Subsistemas: Primer vistazo Inicialización ,[object Object],[object Object],[object Object],[object Object]
2 Video Intro ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video SDL_Rect ,[object Object],[object Object],[object Object],[object Object]
2 Video SDL_Rect ,[object Object],píxeles rectángulos
2 Video SDL_Color ,[object Object],[object Object]
2 Video SDL_Color ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video SDL_VideoInfo Devuelve información sobre el subsistema de video.
2 Video SDL_PixelFormat ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video SDL_GetVideoInfo ,[object Object]
2 Video SDL_Surface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video SDL_Surface: superficie “pantalla” ,[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video SDL_Surface: superficie “pantalla” ,[object Object],[object Object]
2 Video SDL_Surface: RGB Surfaces ,[object Object],[object Object],[object Object],[object Object]
2 Video SDL_Surface: RGB Surfaces ,[object Object],[object Object],[object Object],[object Object],[object Object],Raramente usadas.
2 Video SDL_Surface: RGB Surfaces ,[object Object],[object Object]
2 Video SDL_Surface: Bitmaps ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video SDL_Surface: Conversión ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Liberar la superficie antigua.
2 Video Trabajando con superficies ,[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Trabajando con superficies: rectángulos rellenos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Trabajando con superficies: pixeles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Usado para crear funciones de primitivas, ya que SDL no tiene.
2 Video Trabajando con superficies: Blitting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Transparencias (colorKey) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Clipping areas ,[object Object],[object Object],[object Object]
2 Video Paletas ,[object Object],[object Object],[object Object]
2 Video Paletas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Actualizar pantalla ,[object Object],[object Object],[object Object]
2 Video Alpha blending ,[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Alpha blending ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Alpha blending ,[object Object],[object Object]
2 Video Overlays ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2 Video Overlays ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Intro ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Intro ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Teclado ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1: activar 0: desactivar -1:devuelve estado
3 Eventos y ventanas Teclado
3 Eventos y ventanas Teclado
3 Eventos y ventanas Ratón: movimiento ,[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Ratón: botones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Joystick ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Sistema: Quit y Expose ,[object Object],[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Sistema: Resize y activation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas Sistema: usuario ,[object Object],[object Object],[object Object]
3 Eventos y ventanas Estructura principal ,[object Object],[object Object]
3 Eventos y ventanas  Métodos de obtener información: Waiting ,[object Object],[object Object],[object Object]
3 Eventos y ventanas  Métodos de obtener información: Polling ,[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas  Métodos de obtener información: Directo ,[object Object],[object Object],[object Object],[object Object]
3 Eventos y ventanas  Administrador de ventana ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4 Audio y CDRom Estructuras audio: SDL_AudioSpec ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4 Audio y CDRom Estructuras audio: SDL_AudioSpec
4 Audio y CDRom Funciones open, pause, close ,[object Object],[object Object],[object Object],[object Object],Función para cerrar. ,[object Object],[object Object]
4 Audio y CDRom Archivos wav ,[object Object],[object Object],[object Object],[object Object],[object Object],Para liberar los datos de un archivo wav.
4 Audio y CDRom Conversión y mezcla Requieren conocimientos avanzados sobre sonido.
4 Audio y CDRom Estructuras CDRom ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4 Audio y CDRom Estructuras CDRom
4 Audio y CDRom Estructuras CDRom ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4 Audio y CDRom Funciones CDRom: información Devuelve el número de pistas del CD. Devuelve el nombre de la unidad de CD, pasándole el id. (drive 0, default). Pasándole el id, devuelve un puntero tipo SDL_CD con información sobre el CD. Libera un puntero SDL_CD. Coge un puntero tipo SDL_CD y devuelve el estado actual (tabla anterior).
4 Audio y CDRom Funciones CDRom: play, stop, pause… Detiene la reproducción de un CD, pasándole un puntero tipo SDL_CD. Devuelve 0 o -1(error). ,[object Object],[object Object],[object Object],[object Object]
4 Audio y CDRom Funciones CDRom: play, stop, pause… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Devuelven 0 o -1(error).
5 Joysticks Intro Subsistema para el manejo de todo tipo de controladores de juegos (excepto ratón y teclado).
5 Joysticks Intro 1: palanca (eje principal). 2: base. 3: gatillo. 4: botones adicionales. 5: botón adicional (auto). 6: palanca adicional (eje adicional). 7: botón direccional (hat). 8: ventosa.
5 Joysticks Información Devuelve el número de joysticks conectados. Pasándole un número de dispositivo (de 0 a SDL_NumJoysticks-1), devuelve un string con el nombre del joystick. Abre el acceso a un joystick pasado por parámetro, devolviendo un puntero tipo SDL_Joystick (manejado internamente por SDL, no es necesario conocer su estructura). Libera el acceso a un joystick. Devuelve 0 o 1 (acceso a joystick abierto).
5 Joysticks Información Devuelven un entero con el número de elementos de ese tipo del joystick.
6 Hilos (Threads) y temporizadores Intro ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
6 Hilos (Threads) y temporizadores Timers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
6 Hilos (Threads) y temporizadores Timers Devuelve el número de milisegundos desde que se inicializó la librería SDL_TIMER. Detiene la ejecución del programa ms milisegundos.
6 Hilos (Threads) y temporizadores Threads ,[object Object],[object Object],[object Object],[object Object],[object Object],Función que destruye un hilo tipo SDL_Thread pasado como puntero en thread. Detiene el programa hasta que termine el tread. El valor que devuelve se almacena como puntero en status.
6 Hilos (Threads) y temporizadores Threads Devuelve un entero con el identificador de el hilo (dentro del hilo). Devuelve un entero con el identificador del hilo (fuera del hilo). Hay que pasarle el puntero del hilo como parámetro.
6 Hilos (Threads) y temporizadores Mutexes Un mutex, una vez creado, tiene dos estados: bloqueado y desbloqueado. Una vez que un mutex es bloqueado, nada puede volverlo a bloquear hasta que esté desbloqueado. Crea un mutex, devuelto como puntero tipo SDL_mutex. Destruye el mutes pasado como puntero tipo SDL_mutex en mutex.
6 Hilos (Threads) y temporizadores Mutexes ,[object Object],[object Object],[object Object],Desbloquea un mutex previamente bloqueado (tb SDL_UnlockMutex).
6 Hilos (Threads) y temporizadores Semáforos Devuelve un puntero a un semáforo tipo SDL_sem, pasándole un valor inicial en initial_value. Destruye un semáforo previamente creado. La función espera hasta que el semáforo pasado por parámetro tenga un valor positivo, entonces lo decrementa y sale. Similar a la anterior, sin espera. Devuelve 0 o -1(error).
6 Hilos (Threads) y temporizadores Semáforos Incrementa el valor de un semáforo. Devuelve el valor de un semáforo.
6 Hilos (Threads) y temporizadores Variables condicionales Crea una variable condicional devuelta como un puntero tipo SDL_cond. Destruye una variable condicional pasada en cond. Funciones de espera para las variables condicionales. Ambas desbloquean un mutex que debe de estar previamente bloqueado. Ambas mandan una señal a una o varias variables condicionales. La primera desbloquea el primer mutex esperando por la variable. La segunda, desbloquea todos.
Librería SDL_net Intro ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Librería SDL_net Inicialización Función para inicializar la librería. Devuelve 0 o -1(error). Fución para cerrar la librería.
Librería SDL_net IPAddress ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Librería SDL_net IPAddress ,[object Object],[object Object]
Librería SDL_net TCPSocket Estructura para almacenar de manera abstracta una conexión con un equipo (socket). Funciones para abrir y cerrar sockets. Tipos de sockets:  servidor  y  cliente . Los sockets servidor sólo escuchan peticiones de otros equipos. Los sockets cliente envían datos.
Librería SDL_net TCPSocket Función que necesita un TCPsocket servidor (server) y que devuelve una conexión al sistema remoto que previamente usó SDL_TCP_Open. Función que devuelve la dirección de un sistema con el que se ha conectado mediante un puntero tipo IPaddress. Necesita un socket (sock) de tipo TCPsocket como parámetro.
Librería SDL_net TCPSocket ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Librería SDL_net TCPSocket Servidor Inicializar SDL_net  Establecer puerto de escucha  Abrir socket hacia ese puerto  Aceptar una conexión  Recibir los datos  Hacer algo con los datos  Limpiar y salir Cliente Inicializar SDL_net Resolver la dirección del servidor  Abrir un socket  Leer datos del usuario  Mandar los datos  Limpiar y salir
A Referencias Simple Direct Media Layer http://libsdl.org SDL_image http://libsdl.org/projects/SDL_image SDL_net http://libsdl.org/projects/SDL_net SDL_ttf http://libsdl.org/projects/SDL_ttf SDL_mixer http://libsdl.org/projects/SDL_mixer Lazy Foo Productions http://lazyfoo.net/SDL_tutorials/index.php Dev Hub http://www.sdltutorials.com/ Tutorial-Wiki SDL http://softwarelibre.uca.es/wikijuegos/Portada Focus On SDL The Premier Press Game Development Series Ernest Pazera

Weitere ähnliche Inhalte

Andere mochten auch

생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트
생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트
생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트gysuissf
 
Influencing factors midwives experience when entering perinatal data: The The...
Influencing factors midwives experience when entering perinatal data: The The...Influencing factors midwives experience when entering perinatal data: The The...
Influencing factors midwives experience when entering perinatal data: The The...Health Informatics New Zealand
 
Thesis_ClarkA_FinalDraft
Thesis_ClarkA_FinalDraftThesis_ClarkA_FinalDraft
Thesis_ClarkA_FinalDraftAlexander Clark
 
바카라싸이트『SX797。COM 』실시간카지노
바카라싸이트『SX797。COM 』실시간카지노 바카라싸이트『SX797。COM 』실시간카지노
바카라싸이트『SX797。COM 』실시간카지노 gysuissf
 
Innovation Project
Innovation ProjectInnovation Project
Innovation ProjectIffat Zehra
 
Udes verde y su aporte al entorno del medio ambiente.
Udes verde y su aporte al entorno del medio ambiente.Udes verde y su aporte al entorno del medio ambiente.
Udes verde y su aporte al entorno del medio ambiente.Ąnđręą Ortįzz
 
실시간훌라 『OX600』。『COM』룰렛전략
실시간훌라  『OX600』。『COM』룰렛전략 실시간훌라  『OX600』。『COM』룰렛전략
실시간훌라 『OX600』。『COM』룰렛전략 gysuissf
 
Logros Coordinación Zonal 1 y 2 Senescyt
Logros Coordinación Zonal 1 y 2 Senescyt Logros Coordinación Zonal 1 y 2 Senescyt
Logros Coordinación Zonal 1 y 2 Senescyt Senescytz1-2
 
Finite element analysis and parametric study of curved concrete box girder us...
Finite element analysis and parametric study of curved concrete box girder us...Finite element analysis and parametric study of curved concrete box girder us...
Finite element analysis and parametric study of curved concrete box girder us...eSAT Journals
 
Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1Frederic Roy
 
Automatic sorting machine (cpu)
Automatic sorting machine (cpu)Automatic sorting machine (cpu)
Automatic sorting machine (cpu)vishnucool
 

Andere mochten auch (18)

생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트
생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트
생중계볼링 사이트 『OX600』。『COM』마작테이블 사이트
 
Influencing factors midwives experience when entering perinatal data: The The...
Influencing factors midwives experience when entering perinatal data: The The...Influencing factors midwives experience when entering perinatal data: The The...
Influencing factors midwives experience when entering perinatal data: The The...
 
Thesis_ClarkA_FinalDraft
Thesis_ClarkA_FinalDraftThesis_ClarkA_FinalDraft
Thesis_ClarkA_FinalDraft
 
Esquema 1
 Esquema 1 Esquema 1
Esquema 1
 
바카라싸이트『SX797。COM 』실시간카지노
바카라싸이트『SX797。COM 』실시간카지노 바카라싸이트『SX797。COM 』실시간카지노
바카라싸이트『SX797。COM 』실시간카지노
 
GUARDIAN
GUARDIANGUARDIAN
GUARDIAN
 
Pablo méndez
Pablo méndezPablo méndez
Pablo méndez
 
Innovation Project
Innovation ProjectInnovation Project
Innovation Project
 
Udes verde y su aporte al entorno del medio ambiente.
Udes verde y su aporte al entorno del medio ambiente.Udes verde y su aporte al entorno del medio ambiente.
Udes verde y su aporte al entorno del medio ambiente.
 
실시간훌라 『OX600』。『COM』룰렛전략
실시간훌라  『OX600』。『COM』룰렛전략 실시간훌라  『OX600』。『COM』룰렛전략
실시간훌라 『OX600』。『COM』룰렛전략
 
Postulación
PostulaciónPostulación
Postulación
 
Logros Coordinación Zonal 1 y 2 Senescyt
Logros Coordinación Zonal 1 y 2 Senescyt Logros Coordinación Zonal 1 y 2 Senescyt
Logros Coordinación Zonal 1 y 2 Senescyt
 
Finite element analysis and parametric study of curved concrete box girder us...
Finite element analysis and parametric study of curved concrete box girder us...Finite element analysis and parametric study of curved concrete box girder us...
Finite element analysis and parametric study of curved concrete box girder us...
 
Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1Jc decaux smart city & digitalisation de la mobilité v1
Jc decaux smart city & digitalisation de la mobilité v1
 
La constitución de weimar
La constitución de weimar La constitución de weimar
La constitución de weimar
 
Automatic sorting machine (cpu)
Automatic sorting machine (cpu)Automatic sorting machine (cpu)
Automatic sorting machine (cpu)
 
La tutela en el Derecho Romano
La tutela en el Derecho RomanoLa tutela en el Derecho Romano
La tutela en el Derecho Romano
 
Ingles 3
Ingles 3Ingles 3
Ingles 3
 

Ähnlich wie SDL Simple Direct Media Layer

Pantalla Led
Pantalla LedPantalla Led
Pantalla Ledm_andres
 
Guía No. 2 Grado 11
Guía No. 2 Grado 11Guía No. 2 Grado 11
Guía No. 2 Grado 11gregoriopena
 
Trabajo De Int A Los Sistemas
Trabajo De Int A Los SistemasTrabajo De Int A Los Sistemas
Trabajo De Int A Los Sistemasantonio777
 
Trabajo 1 - Sistema de video digital de alto desempeño
Trabajo 1 - Sistema de video digital de alto desempeñoTrabajo 1 - Sistema de video digital de alto desempeño
Trabajo 1 - Sistema de video digital de alto desempeñoSergio Velez
 
Monitor O Pantallas y modelo de von neumann
Monitor O Pantallas y modelo de von neumannMonitor O Pantallas y modelo de von neumann
Monitor O Pantallas y modelo de von neumannguest75260f
 
5 Producción multimedia
5 Producción multimedia5 Producción multimedia
5 Producción multimediaa-stellez
 
Practica # 7 informe
Practica # 7 informePractica # 7 informe
Practica # 7 informeJimmy Torres
 
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstreamDecodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstreamJosé Ramón Cerquides Bueno
 
monitor de computadora
monitor de computadoramonitor de computadora
monitor de computadorawilliamesa
 
Cuestionario sobre Placas de Video y Monitores
Cuestionario sobre Placas de Video  y MonitoresCuestionario sobre Placas de Video  y Monitores
Cuestionario sobre Placas de Video y MonitoresTincho Mombelli
 
Desarrollo de videojuegos - Conceptos básicos para desarrollo de videojuego...
Desarrollo de videojuegos  - Conceptos básicos para desarrollo de videojuego...Desarrollo de videojuegos  - Conceptos básicos para desarrollo de videojuego...
Desarrollo de videojuegos - Conceptos básicos para desarrollo de videojuego...Roberto Albornoz
 
Trabajo Practico Placas de Video y Monitores
Trabajo Practico Placas de Video y MonitoresTrabajo Practico Placas de Video y Monitores
Trabajo Practico Placas de Video y MonitoresIgnacio Camporro
 

Ähnlich wie SDL Simple Direct Media Layer (20)

Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Disco Duro
Disco DuroDisco Duro
Disco Duro
 
Pantalla Led
Pantalla LedPantalla Led
Pantalla Led
 
Guía No. 2 Grado 11
Guía No. 2 Grado 11Guía No. 2 Grado 11
Guía No. 2 Grado 11
 
Trabajo De Int A Los Sistemas
Trabajo De Int A Los SistemasTrabajo De Int A Los Sistemas
Trabajo De Int A Los Sistemas
 
Trabajo 1 - Sistema de video digital de alto desempeño
Trabajo 1 - Sistema de video digital de alto desempeñoTrabajo 1 - Sistema de video digital de alto desempeño
Trabajo 1 - Sistema de video digital de alto desempeño
 
Monitor O Pantallas y modelo de von neumann
Monitor O Pantallas y modelo de von neumannMonitor O Pantallas y modelo de von neumann
Monitor O Pantallas y modelo de von neumann
 
Tarjetas
TarjetasTarjetas
Tarjetas
 
Monitor
MonitorMonitor
Monitor
 
5 Producción multimedia
5 Producción multimedia5 Producción multimedia
5 Producción multimedia
 
Practica # 7 informe
Practica # 7 informePractica # 7 informe
Practica # 7 informe
 
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstreamDecodificador de vídeo mpeg 2 en matlab y análisis del bitstream
Decodificador de vídeo mpeg 2 en matlab y análisis del bitstream
 
Steven1
Steven1Steven1
Steven1
 
monitor de computadora
monitor de computadoramonitor de computadora
monitor de computadora
 
Cuestionario sobre Placas de Video y Monitores
Cuestionario sobre Placas de Video  y MonitoresCuestionario sobre Placas de Video  y Monitores
Cuestionario sobre Placas de Video y Monitores
 
Desarrollo de videojuegos - Conceptos básicos para desarrollo de videojuego...
Desarrollo de videojuegos  - Conceptos básicos para desarrollo de videojuego...Desarrollo de videojuegos  - Conceptos básicos para desarrollo de videojuego...
Desarrollo de videojuegos - Conceptos básicos para desarrollo de videojuego...
 
lcd
 lcd  lcd
lcd
 
Trabajo Practico Placas de Video y Monitores
Trabajo Practico Placas de Video y MonitoresTrabajo Practico Placas de Video y Monitores
Trabajo Practico Placas de Video y Monitores
 
Ejercicios tema 5
Ejercicios tema 5Ejercicios tema 5
Ejercicios tema 5
 

SDL Simple Direct Media Layer

  • 1. SDL Simple Direct Media Layer Carlos Manzanas Navia (revisar)
  • 2.
  • 3.
  • 4.
  • 5. 1 Subsistemas: Primer vistazo Visión general
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. 1 Subsistemas: Primer vistazo Inicialización
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. 2 Video SDL_VideoInfo Devuelve información sobre el subsistema de video.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52. 3 Eventos y ventanas Teclado
  • 53. 3 Eventos y ventanas Teclado
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66. 4 Audio y CDRom Estructuras audio: SDL_AudioSpec
  • 67.
  • 68.
  • 69. 4 Audio y CDRom Conversión y mezcla Requieren conocimientos avanzados sobre sonido.
  • 70.
  • 71. 4 Audio y CDRom Estructuras CDRom
  • 72.
  • 73. 4 Audio y CDRom Funciones CDRom: información Devuelve el número de pistas del CD. Devuelve el nombre de la unidad de CD, pasándole el id. (drive 0, default). Pasándole el id, devuelve un puntero tipo SDL_CD con información sobre el CD. Libera un puntero SDL_CD. Coge un puntero tipo SDL_CD y devuelve el estado actual (tabla anterior).
  • 74.
  • 75.
  • 76. 5 Joysticks Intro Subsistema para el manejo de todo tipo de controladores de juegos (excepto ratón y teclado).
  • 77. 5 Joysticks Intro 1: palanca (eje principal). 2: base. 3: gatillo. 4: botones adicionales. 5: botón adicional (auto). 6: palanca adicional (eje adicional). 7: botón direccional (hat). 8: ventosa.
  • 78. 5 Joysticks Información Devuelve el número de joysticks conectados. Pasándole un número de dispositivo (de 0 a SDL_NumJoysticks-1), devuelve un string con el nombre del joystick. Abre el acceso a un joystick pasado por parámetro, devolviendo un puntero tipo SDL_Joystick (manejado internamente por SDL, no es necesario conocer su estructura). Libera el acceso a un joystick. Devuelve 0 o 1 (acceso a joystick abierto).
  • 79. 5 Joysticks Información Devuelven un entero con el número de elementos de ese tipo del joystick.
  • 80.
  • 81.
  • 82. 6 Hilos (Threads) y temporizadores Timers Devuelve el número de milisegundos desde que se inicializó la librería SDL_TIMER. Detiene la ejecución del programa ms milisegundos.
  • 83.
  • 84. 6 Hilos (Threads) y temporizadores Threads Devuelve un entero con el identificador de el hilo (dentro del hilo). Devuelve un entero con el identificador del hilo (fuera del hilo). Hay que pasarle el puntero del hilo como parámetro.
  • 85. 6 Hilos (Threads) y temporizadores Mutexes Un mutex, una vez creado, tiene dos estados: bloqueado y desbloqueado. Una vez que un mutex es bloqueado, nada puede volverlo a bloquear hasta que esté desbloqueado. Crea un mutex, devuelto como puntero tipo SDL_mutex. Destruye el mutes pasado como puntero tipo SDL_mutex en mutex.
  • 86.
  • 87. 6 Hilos (Threads) y temporizadores Semáforos Devuelve un puntero a un semáforo tipo SDL_sem, pasándole un valor inicial en initial_value. Destruye un semáforo previamente creado. La función espera hasta que el semáforo pasado por parámetro tenga un valor positivo, entonces lo decrementa y sale. Similar a la anterior, sin espera. Devuelve 0 o -1(error).
  • 88. 6 Hilos (Threads) y temporizadores Semáforos Incrementa el valor de un semáforo. Devuelve el valor de un semáforo.
  • 89. 6 Hilos (Threads) y temporizadores Variables condicionales Crea una variable condicional devuelta como un puntero tipo SDL_cond. Destruye una variable condicional pasada en cond. Funciones de espera para las variables condicionales. Ambas desbloquean un mutex que debe de estar previamente bloqueado. Ambas mandan una señal a una o varias variables condicionales. La primera desbloquea el primer mutex esperando por la variable. La segunda, desbloquea todos.
  • 90.
  • 91. Librería SDL_net Inicialización Función para inicializar la librería. Devuelve 0 o -1(error). Fución para cerrar la librería.
  • 92.
  • 93.
  • 94. Librería SDL_net TCPSocket Estructura para almacenar de manera abstracta una conexión con un equipo (socket). Funciones para abrir y cerrar sockets. Tipos de sockets: servidor y cliente . Los sockets servidor sólo escuchan peticiones de otros equipos. Los sockets cliente envían datos.
  • 95. Librería SDL_net TCPSocket Función que necesita un TCPsocket servidor (server) y que devuelve una conexión al sistema remoto que previamente usó SDL_TCP_Open. Función que devuelve la dirección de un sistema con el que se ha conectado mediante un puntero tipo IPaddress. Necesita un socket (sock) de tipo TCPsocket como parámetro.
  • 96.
  • 97. Librería SDL_net TCPSocket Servidor Inicializar SDL_net Establecer puerto de escucha Abrir socket hacia ese puerto Aceptar una conexión Recibir los datos Hacer algo con los datos Limpiar y salir Cliente Inicializar SDL_net Resolver la dirección del servidor Abrir un socket Leer datos del usuario Mandar los datos Limpiar y salir
  • 98. A Referencias Simple Direct Media Layer http://libsdl.org SDL_image http://libsdl.org/projects/SDL_image SDL_net http://libsdl.org/projects/SDL_net SDL_ttf http://libsdl.org/projects/SDL_ttf SDL_mixer http://libsdl.org/projects/SDL_mixer Lazy Foo Productions http://lazyfoo.net/SDL_tutorials/index.php Dev Hub http://www.sdltutorials.com/ Tutorial-Wiki SDL http://softwarelibre.uca.es/wikijuegos/Portada Focus On SDL The Premier Press Game Development Series Ernest Pazera