TutorialSDL-30012008.pdf
(
13736 KB
)
Pobierz
738195134 UNPDF
Tutorial de libSDL para la programaci
ó
n de
videojuegos
Antonio Garc
í
a Alba
19 de enero de 2008
2
˝ndice general
1. Desarrollando un videojuego
1
1.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2. Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.
¾
QuØ necesitamos?
. . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.2. Herramientas para el desarrollo
. . . . . . . . . . . . . .
3
1.3.3. Conocimientos previos
. . . . . . . . . . . . . . . . . . .
6
1.3.4. APIs para el desarrollo de videojuegos
. . . . . . . . . .
8
1.3.5. Diseæo multimedia
. . . . . . . . . . . . . . . . . . . . .
9
1.4. Anatom
í
a de un Videojuego
. . . . . . . . . . . . . . . . . . . .
10
1.4.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . .
10
1.4.2. Estructura de un videojuego
. . . . . . . . . . . . . . . .
11
1.5. El desarrollo de la
idea
. Los tipos de juegos
. . . . . . . . . . .
15
1.6. Resumen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2. Conociendo libSDL
21
2.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.2. Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.3.
¾
QuØ es libSDL?
. . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.4.
¾
QuØ nos proporiciona SDL?
. . . . . . . . . . . . . . . . . . . .
24
2.4.1. V
í
deo y GrÆ
cos
. . . . . . . . . . . . . . . . . . . . . .
24
2.4.2. Eventos de Entrada
. . . . . . . . . . . . . . . . . . . . .
25
2.4.3. Sonido
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
2.4.4. Manejo del CDROM
. . . . . . . . . . . . . . . . . . . .
26
2.4.5. Timers
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.4.6. Gesti
ó
n de dispositivos
. . . . . . . . . . . . . . . . . . .
26
2.4.7. Red
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.5.
¾
Por quØ SDL?
. . . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.6. Desventajas de SDL
. . . . . . . . . . . . . . . . . . . . . . . .
34
2.7. El futuro de SDL
. . . . . . . . . . . . . . . . . . . . . . . . . .
35
2.8. Recopilando
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
i
˝NDICE GENERAL
3. Instalaci
ó
n libSDL
37
3.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.2. Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.3. Instalando SDL
. . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.3.1. Requisitos
. . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.3.2. Instalaci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . . .
38
3.4. Instalando las librer
í
as adicionales
. . . . . . . . . . . . . . . . .
39
3.5.
¾
D
ó
nde se instalan las librer
í
as? Localizaci
ó
n
. . . . . . . . . . .
40
3.6. Probando la instalaci
ó
n
. . . . . . . . . . . . . . . . . . . . . . .
40
3.7. Recopilando
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
4. Primeros pasos con SDL. Conociendo el entorno
43
4.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.2. Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.3. El entorno de desarrollo
. . . . . . . . . . . . . . . . . . . . . .
43
4.4. SDL y los subsistemas
. . . . . . . . . . . . . . . . . . . . . . .
44
4.5. Compilando
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.5.1. La herramienta sdl-con
g
. . . . . . . . . . . . . . . . .
47
4.6. Los tipos de datos en SDL y la portabilidad
. . . . . . . . . . .
48
4.7. SDL_GetError() y SDL_WasInit()
. . . . . . . . . . . . . . . .
49
4.8. Inicializaci
ó
n y Finalizaci
ó
n de SDL
. . . . . . . . . . . . . . . .
51
4.9. Hola Mundo
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
4.10. Trabajando con las librer
í
as adicionales
. . . . . . . . . . . . . .
58
4.10.1. SDL_image
. . . . . . . . . . . . . . . . . . . . . . . . .
58
4.10.2. SDL_ttf
. . . . . . . . . . . . . . . . . . . . . . . . . . .
58
4.10.3. SDL_mixer
. . . . . . . . . . . . . . . . . . . . . . . . .
59
4.10.4. SDL_net
. . . . . . . . . . . . . . . . . . . . . . . . . .
60
4.11. Recopilando
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
5. El Subsistema de Video
63
5.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
5.2. Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
5.3. Conocimientos Previos
. . . . . . . . . . . . . . . . . . . . . . .
65
5.4. Subsistema de V
í
deo
. . . . . . . . . . . . . . . . . . . . . . . .
66
5.4.1. Inicializando el Subsistema de V
í
deo
. . . . . . . . . . .
68
5.4.1.1. Ejemplo 1
. . . . . . . . . . . . . . . . . . . . .
72
5.4.2. SDL_VideoInfo. La Informaci
ó
n del Subsistema de Video
76
5.4.2.1. Ejemplo 2
. . . . . . . . . . . . . . . . . . . . .
79
5.5. Conceptos y Estructuras Fundamentales
. . . . . . . . . . . . .
84
5.5.1. SDL_Rect. El `rea RectÆngular
. . . . . . . . . . . . .
84
5.5.2. SDL_Color. El color en SDL.
. . . . . . . . . . . . . . .
89
5.5.3. SDL_Palette, La Paleta de Colores
. . . . . . . . . . . .
91
5.5.4. SDL_PixelFormat. Formato de P
í
xel
. . . . . . . . . . .
94
5.5.5. SDL_Surface, La Super
ce
. . . . . . . . . . . . . . . .
98
5.5.6. SDL_Overlay
. . . . . . . . . . . . . . . . . . . . . . . .
102
ii
˝NDICE GENERAL
5.5.6.1. Creando un Overlay
. . . . . . . . . . . . . . .
103
5.5.6.2. Destruyendo el Overlay
. . . . . . . . . . . . .
103
5.5.6.3. Bloqueando y Desbloqueando un Overlay
. . .
104
5.5.6.4. Dibujando un Overlay
. . . . . . . . . . . . . .
104
5.5.7. Blitting
. . . . . . . . . . . . . . . . . . . . . . . . . . .
105
5.5.8. El Flipping y el Doble Bœ
er
. . . . . . . . . . . . . . .
106
5.6. Manejando Super
cies
. . . . . . . . . . . . . . . . . . . . . . .
108
5.6.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . .
108
5.6.2. Modi
cando la super
cie
. . . . . . . . . . . . . . . . . .
108
5.6.3. Primitivas GrÆ
cas
. . . . . . . . . . . . . . . . . . . . .
117
5.6.4. Ejercicio 1. La recta
. . . . . . . . . . . . . . . . . . . .
117
5.6.5. Ejercicio 2. El cuadrado
. . . . . . . . . . . . . . . . . .
119
5.6.6. Ejercicio 3. La circunferencia
. . . . . . . . . . . . . . . .
120
5.7. Cargando Mapas de Bits
. . . . . . . . . . . . . . . . . . . . . .
123
5.7.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . .
123
5.7.2.
¾
C
ó
mo cargar un mapa de bits?
. . . . . . . . . . . . . .
123
5.7.3. Ejercicio 4
. . . . . . . . . . . . . . . . . . . . . . . . . .
130
5.8. Transparencias
. . . . . . . . . . . . . . . . . . . . . . . . . . .
134
5.8.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . .
134
5.8.2.
¾
Para quØ un color clave?
. . . . . . . . . . . . . . . . .
135
5.8.3. Color Key
. . . . . . . . . . . . . . . . . . . . . . . . . .
137
5.8.4. Ejemplo 5. Aplicando el color clave
. . . . . . . . . . . .
139
5.8.5. Ejercicio 5
. . . . . . . . . . . . . . . . . . . . . . . . . .
140
5.8.6. El Canal Alpha
. . . . . . . . . . . . . . . . . . . . . . .
143
5.8.6.1. Ejemplo 6
. . . . . . . . . . . . . . . . . . . . .
144
5.9. Clipping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
146
5.9.1. Ejemplo 7
. . . . . . . . . . . . . . . . . . . . . . . . . .
147
5.10. Conversi
ó
n de Formatos de P
í
xel
. . . . . . . . . . . . . . . . .
149
5.11. Recopilando
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
151
6. Captura y Gesti
ó
n de Eventos
153
6.1. Introducci
ó
n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
153
6.2. Objetivos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
154
6.3. Conocimientos previos
. . . . . . . . . . . . . . . . . . . . . . .
154
6.4. Eventos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
154
6.5. Captura de eventos
. . . . . . . . . . . . . . . . . . . . . . . . .
156
6.5.1. Waiting
. . . . . . . . . . . . . . . . . . . . . . . . . . .
156
6.5.2. Acceso Directo al Estado de Eventos del Dispositivo
. . .
159
6.5.3. Polling
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
160
6.5.4.
¾
CuÆl es la mejor opci
ó
n?
. . . . . . . . . . . . . . . . .
162
6.6. SDL_Event
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
163
6.6.1. Ejemplo 1
. . . . . . . . . . . . . . . . . . . . . . . . . .
164
6.7. Tipos de Eventos
. . . . . . . . . . . . . . . . . . . . . . . . . .
167
6.8. Teclado
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
167
iii
Plik z chomika:
Svarga
Inne pliki z tego folderu:
TutorialSDL-30012008.pdf
(13736 KB)
Inne foldery tego chomika:
!Ponad 5000 filmów
■ Adobe Illustrator CS5 PL Full
▣ TOTAL WAR SHOGUN 2 Zmierzch Samurajów PL
◄ Filmy 2013 avi lektor
◄FILMY FANTASY
Zgłoś jeśli
naruszono regulamin