pygame

pygame[4]跨平台Python模块组,专为电子游戏设计。包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低階语言,如C语言或是更低階的組合語言束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)完全简化位游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python

Pygame
開發者pygame Community
首次发布2000年10月28日2000-10-28[1][2]
当前版本
  • 2.5.2 (2023年9月18日;穩定版本)[3]
源代码库
操作系统跨平台
类型API
许可协议GNU宽通用公共许可证
网站http://www.pygame.org

pygame原为代替突然停止的pySDL[5]

pygame在Android

pygame應用程式能夠在Android手機和平板執行,採用pygame對於Android的子集(pgs4a)。[6] 支援Android的聲音,振動,鍵盤和加速。[7]但缺點是沒有辦法在iOS上執行pygame應用程式。其它pgs4a的主要限制是缺乏對於多點觸控的支援, 這使得雙指縮放,以及旋轉無法使用。另一個pygame在Android子集的替代方案是Kivy,[8]它包含了多點觸控及iOS的支援。

例子

這段代碼假設在它運行的同一個目錄中有一個名為 ball.png 的(球的)圖像,它將在窗口中快速移動。[9]


import sys, pygame
pygame.init()
size = width, height = 320, 240
speed = [2, 2]
black = 0, 0, 0
screen = pygame.display.set_mode(size)
ball = pygame.image.load("ball.png")
ballrect = ball.get_rect()
while 1:
    for event in pygame.event.get():
        if event.type == pygame.QUIT: sys.exit()
    ballrect = ballrect.move(speed)
    if ballrect.left < 0 or ballrect.right > width:
        speed[0] = -speed[0]
    if ballrect.top < 0 or ballrect.bottom > height:
        speed[1] = -speed[1]
    screen.fill(black)
    screen.blit(ball, ballrect)
    pygame.display.flip()

其他

展示:

  • Pyweek,游戏制作竞赛,时间限制在7天内
  • Ludum Dare,LD48 游戏制作竞赛,时间限制在48小时内

2D引擎和库:

  • Phil's Pygame Utilities (PGU)页面存档备份,存于是增强pygame的库和工具的集合。工具tile编辑器和一个关卡编辑器。(tile, isometric, hexagonal)GUI增强包括全功能GUI,html渲染,文档输出,文本渲染。函式庫包括精靈和拼接圖電子遊戲引擎(瓷磚圖, 立体圖, 六角圖), 和一個狀態引擎,计时器,高分系统。
  • Pyglet,一个OpenGL库,类似pygame

社群

有定期的競賽,叫做PyWeek. 使用Python寫出遊戲(通常但不一定使用pygame)。[10][11][12]社群已經創造了許多Pygame的教學。[13][14][15][16][17][18]

参考

  1. Shinners, Pete. . [2018-10-18]. (原始内容存档于2019-09-17).
  2. . [2018-10-18]. (原始内容存档于2018-04-13).
  3. . 2023年9月18日 [2023年9月19日].
  4. . [2019-12-30]. (原始内容存档于2019-09-18).
  5. . [2008-12-19]. (原始内容存档于2008-12-30).
  6. . [2015-09-03]. (原始内容存档于2015-08-10).
  7. . [2014-10-14]. (原始内容存档于2014-10-19).
  8. . [2015-09-03]. (原始内容存档于2015-09-01).
  9. Zed Shaw. . Addison-Wesley Professional. 2017 [2021-09-21]. ISBN 978-0134692883. (原始内容存档于2021-09-06).
  10. . [2018-08-09]. (原始内容存档于2008-12-17).
  11. . [2018-08-09]. (原始内容存档于2018-08-09).
  12. . [2018-08-09]. (原始内容存档于2020-03-06).
  13. . [2017-11-12]. (原始内容存档于2017-11-10).
  14. Shinners, Pete. . [2008-12-19]. (原始内容存档于2005-02-05).
  15. . [2008-12-19]. (原始内容存档于2008-12-20).
  16. . [2018-08-09]. (原始内容存档于2018-08-09).
  17. . ShowMeDo.com. [2008-12-19]. (原始内容存档于2007-04-29).
  18. . [2008-12-19]. (原始内容存档于2007-04-29).

链接

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.