🎃 Grandes descuentos en libros en línea, eformaciones y vídeos*. Código CALABAZA30. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Pygame - Iníciese en el desarrollo de videojuegos en Python

Pygame Iníciese en el desarrollo de videojuegos en Python

Información adicional

  • 5% de descuento en todos los libros
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año

Características

  • Encuadernación rústica - 17 x 21 cm
  • ISBN: 978-2-409-04193-8
  • EAN: 9782409041938
  • Ref. ENI: LFT2PYG

Información adicional

  • 5% de descuento en todos los libros
  • Versión online digital, no descargable
  • Consultable en línea durante 10 años inmediatamente después de la validación del pago.

Características

  • HTML
  • ISBN: 978-2-409-04194-5
  • EAN: 9782409041945
  • Ref. ENI: LNLFT2PYG
Este libro se dirige a todos los makers y entusiastas de la programación que deseen aprender a desarrollar videojuegos con Pygame. También interesará a los principiantes en el lenguaje Python, así como a los informáticos que quieran perfeccionar sus conocimientos sobre esta librería, que se utiliza no solo en el campo de los videojuegos, sino también en el de la simulación.No es necesario dominar el lenguaje Python para leer este libro, porque el autor comienza presentando los conceptos básicos...
Consultar extractos del libro Extracto del libro
  • Nivel Iniciado a Medio
  • Número de páginas 265 páginas
  • Publicación julio 2023
  • Nivel Iniciado a Medio
  • Publicación julio 2023
Este libro se dirige a todos los makers y entusiastas de la programación que deseen aprender a desarrollar videojuegos con Pygame. También interesará a los principiantes en el lenguaje Python, así como a los informáticos que quieran perfeccionar sus conocimientos sobre esta librería, que se utiliza no solo en el campo de los videojuegos, sino también en el de la simulación.

No es necesario dominar el lenguaje Python para leer este libro, porque el autor comienza presentando los conceptos básicos antes de indicar cómo dar sus primeros pasos con Pygame y detallar la estructura de un juego con Pygame. Posteriormente, a lo largo de los capítulos, se estudian los aspectos principales del desarrollo de videojuegos en dos dimensiones. El lector también va a estudiar cómo gestionar un bucle de juego, cómo dominar los aspectos gráficos con el módulo pygame.draw, cómo añadir sonido con el módulo pygame.mixer, incluso cómo gestionar el tiempo y especialmente las colisiones entre objetos gráficos gracias al concepto de sprite. El autor también ofrece una introducción al 3D y al concepto de motor de juego.

Finalmente, los dos últimos capítulos brindan al lector una documentación precisa de los principales módulos de Pygame que se utilizan en el libro, así como de los que se utilizan con frecuencia en el desarrollo usando Pygame.

Hay elementos adicionales para su descarga en el sitio web www.ediciones-eni.com.

Descargas

Prólogo
  1. Introducción
Aspectos fundamentales del lenguaje Python
  1. Introducción
  2. Características del lenguaje Python
    1. 1. Lenguaje interpretado
    2. 2. Tipado dinámico fuerte
    3. 3. Multi-paradigma
    4. 4. Licencia gratuita
    5. 5. Multiplataforma
  3. Instalación de Python
    1. 1. Instalación de Python en Windows
    2. 2. Instalación de Python en macOS
    3. 3. Instalación de Python en Linux
  4. Uso de Python en línea de comandos por primera vez
    1. 1. Múltiples versiones de Python
    2. 2. Comprobación de versión
    3. 3. Primer uso
  5. Primeros pasos con Python
    1. 1. Primeras instrucciones
    2. 2. Uso de un archivo Python
    3. 3. Indentación en Python
    4. 4. Variables y funciones en Python
      1. a. Declarar y usar una variable
      2. b. Declarar y usar una función
    5. 5. Breve comentario sobre los módulos en Python
      1. a. La palabra clave import
      2. b. Un comentario sobre __main__
    6. 6. Bucles y condiciones en Python
      1. a. El bucle while
      2. b. El bucle for
      3. c. Las condiciones con if...else...elif
    7. 7. Estructuras de datos en Python
    8. 8. Ejemplo de listas
    9. 9. Ejemplo de tuplas
    10. 10. Ejemplo de conjuntos
    11. 11. Ejemplo de diccionario
  6. Conclusión
Nociones avanzadas del lenguaje Python
  1. Introducción
  2. Programación orientada a objetos
    1. 1. Introducción
    2. 2. Clases en Python
    3. 3. Breve comentario sobre la herencia y el polimorfismo
      1. a. La herencia
      2. b. Polimorfismo
    4. 4. Conclusión
  3. El entorno virtual
    1. 1. Contexto
    2. 2. Pequeño ejemplo teórico
  4. La PEP8
    1. 1. Contexto
    2. 2. El espíritu de la PEP8
    3. 3. Principios generales y herramientas
      1. a. Principios de la PEP8
      2. b. Algunas herramientas
Conceptos del videojuego y primeros pasos con Pygame
  1. Introducción
  2. El bucle del juego
  3. Descripción general de Pygame
  4. Instalación de Pygame
  5. Los módulos que componen Pygame
  6. Realización de un primer juego gráfico: cohete y planetas
    1. 1. Las imágenes utilizadas
    2. 2. La ventana del juego
    3. 3. El bucle del juego
    4. 4. El sistema de coordenadas Pygame
    5. 5. Variables del juego
      1. a. Variables relacionadas con el cohete
      2. b. Variables relacionadas con los dos planetas que "caen"
      3. c. Variables relacionadas con el conteo de puntos
      4. d. Variables relativas a las imágenes
    6. 6. Los movimientos del cohete
    7. 7. Los movimientos de los planetas
    8. 8. Colisiones
    9. 9. El código completo
Estructura de un juego Pygame
  1. Introducción
  2. Inicialización
  3. Ayuda en la línea de comandos
  4. Visualización de la ventana
    1. 1. La tupla size de set_mode
    2. 2. El argumento flags de set_mode
  5. Recordatorios respecto al bucle de juego
  6. Superficies Pygame
    1. 1. Definición de una superficie
    2. 2. La ventana del juego, una superficie particular
    3. 3. Ejemplo de manipulación de una superficie
    4. 4. Manipulación de superficies
    5. 5. ¿Superficie o copia de superficie?
    6. 6. Dar color a la superficie
  7. Gestión del color
  8. Sistema de coordenadas
  9. Gestión del tiempo y los eventos
    1. 1. Gestión del tiempo en Pygame
    2. 2. Gestión de eventos en Pygame
      1. a. La función pygame.event.get
      2. b. La función pygame.event.wait
      3. c. La función pygame.event.poll
    3. 3. Un ejemplo: el cuadrado que rebota
  10. Los códigos globales de los dos ejemplos
    1. 1. Primer ejemplo
    2. 2. Segundo ejemplo
Diseño y grafismo en todos sus estados con Pygame
  1. Introducción
  2. Dibujar formas con Pygame
    1. 1. El módulo pygame.draw
    2. 2. Dibujar una línea
    3. 3. Dibujar una línea discontinua
    4. 4. Dibujar un rectángulo
    5. 5. Dibujar un polígono
    6. 6. Dibujar un círculo
    7. 7. Dibujar una elipse
    8. 8. Dibujar un arco de circunferencia
    9. 9. Antialiasing
  3. Ver y guardar imágenes con Pygame
    1. 1. El módulo pygame.image
    2. 2. Cargar imágenes con Pygame
      1. a. La función pygame.draw.load
      2. b. Buena práctica de la llamada a convert()
      3. c. Ejemplo de carga y visualización de una imagen
    3. 3. Guardar imágenes con Pygame
  4. Usar y manipular texto en Pygame
    1. 1. El módulo pygame.font
    2. 2. Usar fuentes de caracteres de sistema con Pygame
    3. 3. Utilizar sus propias fuentes de caracteres con Pygame
  5. Diseñar software de dibujo con Pygame
    1. 1. Administrar eventos de ratón o teclado enPygame
    2. 2. Primera versión del software: mostrar laruta trazada con el ratón
    3. 3. Segunda versión del software: varias mejoras
      1. a. Mejora de la experiencia de trazado
      2. b. Características añadidas (color,grosor, etc.)
  6. Aplicar transformaciones geométricas en Pygame
    1. 1. El módulo pygame.transform
    2. 2. Ejemplo de uso de las transformaciones de Pygame
  7. Conclusión
Añadir sonidos a un juego Pygame
  1. Introducción
  2. Gestión del sonido con Pygame
    1. 1. Los módulos pygame.mixer y pygame.mixer.music
      1. a. El módulo pygame.mixer.music (sonido de fondo)
      2. b. El módulo pygame.mixer (efectos de sonido)
    2. 2. Archivos de sonido
    3. 3. La noción de channel (canal) en Pygame
  3. Ejemplo de uso de sonido con Pygame
  4. Conclusión
Sprites con Pygame
  1. La noción de sprite en Pygame
  2. La noción de grupo en Pygame
  3. Gestión simplificada de colisiones
  4. Algunas explicaciones sobre la programación orientada a objetos
    1. 1. El paradigma del objeto, las líneas principales
    2. 2. La herencia
    3. 3. Palabras clave fundamentales en Python
      1. a. La palabra clave self
      2. b. La palabra clave class
      3. c. La palabra clave def
      4. d. __Init__
    4. 4. El ejemplo de la clase Vehiculo en Python
    5. 5. Lo que ya sabíamos... sin saberlo
  5. El módulo sprite y su uso
    1. 1. El contenido del módulo sprite
    2. 2. Creación de un sprite
      1. a. Primer ejemplo de uso
      2. b. Volver al primer ejemplo
    3. 3. Plan para el atributo rect de la clase Sprite
    4. 4. La lista de sprites (grupo)
    5. 5. Gestión de las colisiones con sprites
  6. Conclusión del capítulo
Llegar más lejos con el módulo Sprite, ejemplos aplicados
  1. Introducción
  2. El juego de la serpiente (snake)
    1. 1. El contexto
    2. 2. Las imágenes utilizadas
    3. 3. Efectos de sonido utilizados
    4. 4. El programa global
    5. 5. Listas de sprites (group)
    6. 6. Variables globales
    7. 7. Las clases
      1. a. La clase SERPIENTE
      2. b. La clase CUERPO
      3. c. La clase COMIDA
    8. 8. El programa
      1. a. La función MOSTRAR_MARCADOR
      2. b. El cuerpo del programa
  3. El juego del laberinto
    1. 1. El contexto
    2. 2. Diseño del laberinto
    3. 3. Las imágenes utilizadas
    4. 4. El programa global
    5. 5. Listas de sprites (group)
    6. 6. Las clases
      1. a. La clase PARED
      2. b. La clase OBJETO
      3. c. La clase Crono
      4. d. La clase PERSONAJE
    7. 7. El programa
  4. El juego de romper ladrillos
    1. 1. El contexto
    2. 2. Las imágenes utilizadas
    3. 3. El programa global
    4. 4. Listas de sprites (group)
    5. 5. Constantes
    6. 6. Las clases
      1. a. La clase OBJETO
      2. b. La clase RAQUETA
      3. c. La clase LADRILLO
      4. d. La clase PELOTA
    7. 7. El programa
  5. El juego de desplazamiento: Cohete y planetas (versión 2)
    1. 1. El contexto
    2. 2. El programa global
    3. 3. Listas de sprites (group)
    4. 4. Las clases
      1. a. La clase COHETE
      2. b. La clase PLANETA
    5. 5. El programa
Trabajar en 3D con Pygame
  1. Introducción
  2. La librería 3D OpenGL
  3. OpenGL en Python/Pygame
    1. 1. PyOpenGL
    2. 2. Las nociones fundamentales: vértice y arista
    3. 3. PyOpenGL y Pygame
  4. PyOpenGL/Pygame: el ejemplo del cubo
    1. 1. El código global
    2. 2. Explicación detallada del código
  5. Ir más lejos con PyOpenGL/Pygame: el ejemplo del cubo (continuación)
    1. 1. El código global
    2. 2. Explicación detallada del código
  6. OpenGL en Python y macOS
  7. La noción de motor de videojuegos
    1. 1. Definición
    2. 2. ¿Crear su propio motor de juego?
    3. 3. Un borrador de motor de juego
Principales módulos de Pygame
  1. Introducción
  2. El objeto Color
    1. 1. La clase Color
    2. 2. Los constructores de Color
    3. 3. Las principales funciones de la clase Color
    4. 4. Funciones asociadas a otras representaciones del color
      1. a. Representación CMY
      2. b. Representación HSV y HSL
      3. c. Representación I1I2I3
    5. 5. Otras funciones
      1. a. La función normalize
      2. b. La función correct_gamma
      3. c. La función set_length
  3. El módulo Time
    1. 1. La función get_ticks
    2. 2. La función wait
    3. 3. La función delay
    4. 4. La función set_timer
    5. 5. El objeto Clock
      1. a. Creación de una instancia
      2. b. La función tick
      3. c. La función get_time
      4. d. La función get_fps
  4. El módulo event
    1. 1. La función pump
    2. 2. La función get
    3. 3. La función poll
    4. 4. La función wait
    5. 5. La función peek
    6. 6. La función clear
    7. 7. La función event_name
    8. 8. La función set_blocked
    9. 9. La función set_allowed
  5. El módulo display
    1. 1. La función init
    2. 2. La función quit
    3. 3. La función get_init
    4. 4. La función set_mode
    5. 5. La función flip
    6. 6. La función update
    7. 7. La función set_icon
    8. 8. La función set_caption
  6. El objeto Surface
    1. 1. El constructor de Surface
    2. 2. La función blit
    3. 3. La función blits
    4. 4. Las funciones convert y convert_alpha
    5. 5. La función copy
    6. 6. La función fill
    7. 7. La función scroll
    8. 8. La función set_colorkey
    9. 9. La función get_colorkey
  7. El módulo draw
    1. 1. La función rect
    2. 2. La función polygon
    3. 3. La función circle
    4. 4. La función ellipse
    5. 5. La función arc
    6. 6. La función line
    7. 7. La función lines
    8. 8. Las funciones aaline y aalines
  8. El módulo image
    1. 1. La función load
    2. 2. La función save
    3. 3. Las funciones tostring, fromstring, frombuffer
  9. El módulo font
    1. 1. La función init
    2. 2. La función quit
    3. 3. La función get_init
    4. 4. La función get_default_font
    5. 5. La función get_fonts
    6. 6. La función match_font
    7. 7. La función SysFont
    8. 8. El objeto Font
      1. a. La función Font
      2. b. La función render
      3. c. La función size
      4. d. La función set_underline
      5. e. La función get_underline
      6. f. La función set_bold
      7. g. La función get_bold
      8. h. La función set_italic
      9. i. La función get_italic
      10. j. La función metrics
  10. El módulo mouse
    1. 1. La función get_pressed
    2. 2. La función get_pos
    3. 3. La función get_rel
    4. 4. La función set_pos
    5. 5. La función set_visible
    6. 6. La función get_visible
    7. 7. La función get_focused
    8. 8. La función set_cursor
    9. 9. La función get_cursor
  11. El módulo ley
    1. 1. Las constantes correspondientes a las teclas del teclado
    2. 2. La función get_focused
    3. 3. La función pressed
    4. 4. La función set_repeat
    5. 5. La función get_repeat
    6. 6. La función name
  12. El módulo transform
    1. 1. La función flip
    2. 2. La función scale
    3. 3. La función rotate
    4. 4. La función rotozoom
    5. 5. La función scale2x
    6. 6. La función chop
    7. 7. La función laplacian
    8. 8. La función average_surfaces
    9. 9. La función average_color
  13. El módulo mixer
    1. 1. La función init
    2. 2. La función quit
    3. 3. La función get_init
    4. 4. El objeto Sound
      1. a. Los constructores de Sound
      2. b. La función play
      3. c. La función stop
      4. d. La función fadeout
      5. e. La función set_volume
      6. f. La función get_volume
      7. g. La función get_num_channels
      8. h. La función get_length
      9. i. La función get_raw
    5. 5. El objeto Channel
      1. a. El constructor de Channel
      2. b. La función queue
      3. c. La función set_volume
      4. d. La función get_volume
      5. e. Las funciones play, stop, pause, etc.
    6. 6. Las funciones get_num_channels,set_num_channels y find_channel
  14. El módulo music
    1. 1. La función load
    2. 2. La función unload
    3. 3. La función play
    4. 4. La función rewind
    5. 5. La función stop
    6. 6. La función pause
    7. 7. La función unpause
    8. 8. La función fadeout
    9. 9. La función set_volume
    10. 10. La función get_volume
    11. 11. La función set_pos
    12. 12. La función get_pos
    13. 13. La función queue
  15. El módulo sprite
    1. 1. La clase Sprite
      1. a. La función update
      2. b. La función add
      3. c. La función remove
      4. d. La función kill
      5. e. La función alive
      6. f. La función groups
    2. 2. La clase Group
      1. a. La función sprites
      2. b. La función copy
      3. c. La función add
      4. d. La función remove
      5. e. La función has
      6. f. La función update
      7. g. La función draw
      8. h. La función clear
      9. i. La función empty
    3. 3. Las principales funciones del módulo
      1. a. La función spritecollide
      2. b. La función collide_rect
      3. c. La función collide_circle
      4. d. La función collide_mask
      5. e. La función groupcollide
      6. f. La función spritecollideany
Módulos secundarios de Pygame
  1. Introducción
  2. El módulo cursors
    1. 1. Los cursores predefinidos del módulo
    2. 2. La función compile
    3. 3. La función load_xbm
  3. El módulo joystick
    1. 1. La función init
    2. 2. La función quit
    3. 3. La función get_init
    4. 4. La función get_count
    5. 5. La clase Joystick
      1. a. La función Joystick
      2. b. La función init
      3. c. La función quit
      4. d. La función get_init
      5. e. La función get_id
      6. f. La función get_name
      7. g. La función get_numaxes
      8. h. La función get_axis
      9. i. La función get_numballs
      10. j. La función get_ball
      11. k. La función get_numbuttons
      12. l. La función get_button
      13. m. La función get_numhats
      14. n. La función get_hat
  4. El módulo touch
    1. 1. La función get_num_devices
    2. 2. La función get_device
    3. 3. La función get_num_fingers
    4. 4. La función get_finger
  5. El módulo math
    1. 1. La clase Vector2 - Creación de vector
    2. 2. La clase Vector3 - Creación de vector
    3. 3. Las principales funciones de Vector2 y Vector3
      1. a. La función dot
      2. b. La función length
      3. c. La función normalize
      4. d. La función reflect
      5. e. La función distance_to
      6. f. La función rotate
      7. g. La función rotate_rad
  6. El módulo surfarray
    1. 1. La función array2d
    2. 2. La función pixels_red
    3. 3. La función pixels_green
    4. 4. La función pixels_blue
    5. 5. La función make_surface
    6. 6. La función blit_array
  7. El módulo camera
    1. 1. La función list_cameras
    2. 2. El objeto Camera
      1. a. Creación de instancias Camera
      2. b. La función start
      3. c. La función stop
      4. d. La función get_image
      5. e. La función get_raw
      6. f. La función query_image
      7. g. La función get_size
      8. h. La función get_controls
      9. i. La función set_controls
Autor : Benoît PRIEUR

Benoît PRIEUR

Benoît Prieur se licenció en la escuela de ingenieros ISIMA en Clermont-Ferrand (Francia) y trabaja desde hace varios años como ingeniero independiente. Se ha especializado en el desarrollo en Python, C++, Rust y C#, y en el procesamiento del lenguaje natural (PLN) y el aprendizaje automático (ML). Asimismo, ejerce como formador y da conferencias sobre diversas tecnologías (en particular, sobre informática cuántica). Además, escribe regularmente artículos sobre programación de software.


Más información

Descubrir todos sus libros

  • Pygame Pack de 2 libros: Desarrollo de videojuegos en Python

Novedades

Ver más