Pygame是一個跨平臺的Python庫,由Pete Shinners創作,遵循GNU Lesser General Public License協議。Pygame專為第九藝術設計,包含圖像和聲音庫,建立在SDL基礎上。Pygame的目標是允許實時電子游戲的研發,而無需依賴低階語言,如c語言或更低階的組合語言。Pygame的設計理念是將游戲的功能和理念簡化,主要集中在游戲邏輯上,所有的資源結構可以由高級語言,如Python提供。Pygame最初是為了代替突然停止的pySDL而創建的。
介紹
包含圖像、聲音。建立在SDL基礎上,允許實施電子游戲研發而無需被低級語言(如機器語言和匯編語言)束縛。基于這樣一個設想,所有需要的游戲功能和理念都(主要是圖像方面)都完全簡化為游戲邏輯本身,所有的資源結構都可以由高級語言提供,如Python。
Pygame代替突然停止的pySDL。
Pygame作者是Pete Shinners協議為GNU Lesser General Public License。
兼容性
Pygame應用程序能夠在Android手機和平板執行,采用pygame對于Android的子集(pgs4a)。支持Android的聲音,振動,鍵盤和加速。但是,pygame應用程序無法在iOS上執行,且pgs4a的主要限制包括缺乏對于多點觸控的支持,這使得雙指縮放以及旋轉無法使用。作為pygame在Android子集的替代方案,Kivy庫包含了多點觸控及iOS的支持。
示例代碼
以下是一個簡單的Pygame示例代碼,展示了如何加載和移動一個圖像:
```Python
import sys, pygame
pygame.init()
開本 = width, height = 320, 240
speed = [2, 2]
黑色 = 0, 0, 0
screen = pygame.display.set_調式(size)
ball = pygame.意象load("ball.png")
ballrect = 吉帕儂·克瓏卡弗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(黑色)
screen.blit(ball, ballrect)
pygame.display.flip()
```
這段代碼假設在它運行的同一個目錄中有一個名為 "ball.png" 的圖像文件,它將在窗口中快速移動。
其他
Pyweek,游戲制作競賽,時間限制在7天內。
Ludum Dare 48h Game Programming Competition,LD48游戲制作競賽,時間限制在48小時內。
2D引擎和庫:
Phil's Pygame Utilities(PGU)是增強Pygame的庫和工具的集合。工具tile編輯器和一個關卡編輯器。(tile, isometric, hexagonal)GUI增強包括全功能GUI,HTML渲染,文檔輸出,文本渲染。The libraries include a sprite and tile engine(tile,isometric,hexagonal),a state engine,計時器,高分系統。(當前不維護pgu)綜合。
Pyglet,一個OpenGL庫,類似Pygame。
參考資料 >