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

Quick Facts 开发者, 首次发布 ...
Pygame
开发者pygame Community
首次发布2000年10月28日,​24年前​(2000-10-28[1][2]
当前版本2.0.1(2020年12月24日,​3年前​(2020-12-24[3]
原始码库 编辑维基数据链接
操作系统跨平台
类型API
许可协议GNU宽通用公共许可证
网站http://www.pygame.org
Close

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 DareLD48 游戏制作竞赛,时间限制在48小时内

2D引擎和库:

社群

有定期的竞赛,叫做PyWeek. 使用Python写出游戏(通常但不一定使用pygame)。[10][11][12]社群已经创造了许多Pygame的教学。[13][14][15][16][17][18]

参考

链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.