Articulo de referencia

Pygame

{{cite web|url=https://github.com/pygame/pygame/graphs/contributors|title=Contributors to Pygame|publisher=[[GitHub]]}} "},"developer":{"wt":"Pygame Community"},"released":{"wt"...

Pygame es un conjunto de módulos de Python multiplataforma diseñado para escribir videojuegos . Incluye bibliotecas de gráficos por computadora y sonido diseñadas para usarse con el lenguaje de programación Python . [ 7 ]

Historia

Pygame fue escrito originalmente por Pete Shinners para reemplazar a PySDL después de que su desarrollo se estancara. [ 2 ] [ 8 ] Ha sido un proyecto comunitario desde 2000 [ 9 ] y se publica bajo la licencia pública general reducida de software libre GNU [ 5 ] (que "establece que Pygame se distribuya con software de código abierto y comercial" [ 10 ] ).

Desarrollo de la versión 2

La versión 2 de Pygame se planeó como "Pygame Reloaded" en 2009, pero el desarrollo y mantenimiento de Pygame se detuvieron por completo hasta finales de 2016 con la versión 1.9.1. Después del lanzamiento de la versión 1.9.5 en marzo de 2019, el desarrollo de una nueva versión 2 se mantuvo activo en la hoja de ruta. [ 11 ]

Pygame 2.0 se lanzó el 28 de octubre de 2020, en el 20.º aniversario de Pygame. [ 12 ]

Características

Pygame utiliza la biblioteca Simple DirectMedia Layer (SDL), [ a ] con la intención de permitir el desarrollo de videojuegos en tiempo real sin la mecánica de bajo nivel del lenguaje de programación C y sus derivados. Esto se basa en la suposición de que las funciones más costosas dentro de los juegos pueden abstraerse de la lógica del juego, lo que permite utilizar un lenguaje de programación de alto nivel , como Python, para estructurar el juego. [ 5 ]

Otras características que SDL sí tiene incluyen matemáticas vectoriales, detección de colisiones , gestión de grafos de escena de sprites 2D , soporte MIDI , cámara, manipulación de matrices de píxeles, transformaciones, filtrado, soporte avanzado de fuentes freetype y dibujo. [ 13 ]

Las aplicaciones que utilizan Pygame pueden ejecutarse en teléfonos y tabletas Android con el uso de Pygame Subset para Android (pgs4a). [ 14 ] Se admiten sonido, vibración, teclado y acelerómetro en Android. [ 15 ]

Comunidad

Tras desacuerdos entre los antiguos desarrolladores principales y el propietario del repositorio, se creó una bifurcación conocida como pygame-ce (Community Edition). [ 16 ]

Existe una competición regular, llamada PyWeek, para escribir juegos usando Python (y normalmente, aunque no necesariamente, Pygame). [ 17 ] [ 18 ] [ 19 ] La comunidad ha creado muchos tutoriales para Pygame. [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ]

Código de ejemplo

El siguiente código hace que una imagen de un mapache ("raccoon.png") rebote al chocar con un borde.

import pygame , syspygame.init ( ) screen = pygame.display.set_mode ( ( 1280 , 720 ) ) clock = pygame.time.Clock ( ) clock.tick ( 30 ) black = 0 , 0 , 0 raccoon = pygame.image.load ( " raccoon.png " ) raccoon = pygame.transform.scale ( raccoon , ( 200 , 140 ) ) raccoonrect = raccoon.get_rect ( ) velocity = [ 1 , 1 ]while True : raccoonrect = raccoonrect . move ( velocity ) if raccoonrect . left < 0 or raccoonrect . right > 1280 : velocity [ 0 ] = - velocity [ 0 ] raccoon = pygame . transform . flip ( raccoon , True , False ) if raccoonrect . top < 0 or raccoonrect . bottom > 720 : velocity [ 1 ] = - velocity [ 1 ] for event in pygame . event . get (): if event . type == pygame . QUIT : sys . exit () # actualización de pantalla screen . fill ( black ) screen . blit ( raccoon , raccoonrect ) pygame . display . flip ()

Juegos destacados que utilizan Pygame

Véase también

Notas

  1. Pygame 2 y versiones posteriores se basan en SDL2, mientras que las versiones anteriores se basaban en SDL1. [ 27 ]

Referencias

  1. "Colaboradores de Pygame" . GitHub .
  2. 1 2 Shinners, Pete. "Introducción a Pygame en Python - Historia" . Pygame.org . Archivado del original el 17 de septiembre de 2019. Recuperado el 28 de abril de 2017 .
  3. "Descargas - Pygame - Desarrollo de juegos con Python" . Pypi.python.org .
  4. "PyGame 2.6.1 - Versión con corrección de errores para Python 3.13" . Consultado el 16 de marzo de 2025 .
  5. 1 2 3 "Acerca de Pygame" . GitHub. Archivado del original el 18 de septiembre de 2019. Recuperado el 31 de agosto de 2019 .
  6. "Primeros pasos" . Pygame.org .
  7. Alam, Imran (2 de julio de 2023). "Cómo implementar un sistema de diálogo en Pygame" . MUO . Recuperado el 29 de noviembre de 2024 .
  8. "Página de pySDL en SourceForge" . Sourceforge.net .
  9. "commit de otros autores" . GitHub.
  10. "Página principal de Pygame — documentación de pygame v2.0.1.dev1" . www.pygame.org . Consultado el 26 de febrero de 2021 .
  11. "pygame 1.9.5 lanzado al público" . www.pygame.org .
  12. "pygame 2.0 - lanzamiento de cumpleaños con baile feliz" . GitHub.
  13. ^ "Documentos de Pygame" . Pygame.org .
  14. "Ejemplo de uso de RAPT para empaquetar juegos de pygame(_sdl2): renpytom/rapt-pygame-example" . GitHub. 1 de abril de 2019. Consultado el 1 de abril de 2019 .
  15. "API — Subconjunto de Pygame para Android" . Archivado del original el 19 de octubre de 2014. Consultado el 14 de octubre de 2014 .
  16. "pygame - Community Edition" . pypi.com .
  17. "PyWeek - Desafío de programación de juegos en Python" . Pyweek.org .
  18. Gee, Sue (29 de marzo de 2013). "Por qué PyWeek: una entrevista con Richard Jones" . i-programmer.info . Consultado el 31 de marzo de 2020 .
  19. "PyWeek - Wiki de Python" . Wiki.python.org . Consultado el 1 de abril de 2019 .
  20. "Documentación de Pygame: Tutoriales" . Pygame.org .
  21. Siddiqi (27 de junio de 2020). "Proyectos de juegos en Python con código fuente" . CodersLegacy . Consultado el 25 de diciembre de 2020 .
  22. Shinners, Pete. "Tutorial línea por línea - Tutorial para principiantes" . Archivado del original el 5 de febrero de 2005.
  23. "Creación de juegos con Python: un tutorial que explica cómo usar pygame para el desarrollo de juegos y una ejecución mejorada" . Linuxjournal.com .
  24. "Tutoriales en vídeo de Arinoid en ShowMeDo" . Archivado del original el 29 de abril de 2007.
  25. "fretsonfire/src en master · skyostil/fretsonfire" . GitHub . Consultado el 2 de junio de 2023 .
  26. "¡Chicas peligrosas de instituto en apuros!" . Pygame.org . Consultado el 8 de julio de 2011 .
  27. "Pygame 1.9.5 lanzado al mercado" . Pygame.org .
  • Sitio web oficialEdita esto en Wikidata
  • Grupo de noticias de Pygame (acceso web) : el "oficial"
  • Subconjunto de Pygame para Android (PGS4A)
  • pyOpenGL - Enlaces de OpenGL para Python
  • Pygame-SDL2 : una reimplementación de las API de Pygame sobre SDL2.
  • PySDL2 : una capa de abstracción sobre la biblioteca SDL2, similar al proyecto PySDL, que fue descontinuado.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Pygame&oldid=1359471905"