pygame
![本頁使用了標題或全文手工轉換](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
此條目翻譯品質不佳。 (2022年9月29日) |
![]() | |
開發者 | pygame Community |
---|---|
首次釋出 | 2000年10月28日[1][2] |
目前版本 |
|
原始碼庫 | |
作業系統 | 跨平台 |
類型 | API |
特許條款 | GNU較寬鬆公共許可證 |
網站 | http://www.pygame.org |
pygame[5]是跨平台Python模組組,專為電子遊戲設計。包含圖像、聲音。建立在SDL基礎上,允許即時電子遊戲研發而無需被低階語言,如C語言或是更低階的匯編語言束縛。基於這樣一個設想,所有需要的遊戲功能和理念都(主要是圖像方面)完全簡化位遊戲邏輯本身,所有的資源結構都可以由高階語言提供,如Python。
pygame原為代替突然停止的pySDL[6]。
pygame在Android
pygame應用程式能夠在Android手機和平板執行,採用pygame對於Android的子集(pgs4a)。[7] 支援Android的聲音,振動,鍵盤和加速。[8]但缺點是沒有辦法在iOS上執行pygame應用程式。其它pgs4a的主要限制是缺乏對於多點觸控的支援, 這使得雙指縮放,以及旋轉無法使用。另一個pygame在Android子集的替代方案是Kivy,[9]它包含了多點觸控及iOS的支援。
例子
這段代碼假設在它運行的同一個目錄中有一個名為 ball.png 的(球的)圖像,它將在窗口中快速移動。[10]
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)。[11][12][13]社群已經創造了許多Pygame的教學。[14][15][16][17][18][19]
參考
- ^ Shinners, Pete. Python Pygame Introduction - History. [2018-10-18]. (原始內容存檔於2019-09-17).
- ^ Downloads - Pygame - Python game development. [2018-10-18]. (原始內容存檔於2018-04-13).
- ^ Release 2.6.0. 2024年6月25日 [2024年7月26日].
- ^ pygame 2.0.1 - The Age Of Aquarius release. GitHub. [2021-05-27]. (原始內容存檔於2021-03-22).
- ^ About — wiki. [2019-12-30]. (原始內容存檔於2019-09-18).
- ^ Libregamewiki's article on Pygame. [2008-12-19]. (原始內容存檔於2008-12-30).
- ^ 存档副本. [2015-09-03]. (原始內容存檔於2015-08-10).
- ^ 存档副本. [2014-10-14]. (原始內容存檔於2014-10-19).
- ^ 存档副本. [2015-09-03]. (原始內容存檔於2015-09-01).
- ^ Zed Shaw. Learn Python the hard way. Addison-Wesley Professional. 2017 [2021-09-21]. ISBN 978-0134692883. (原始內容存檔於2021-09-06).
- ^ PyWeek - Python Game Programming Challenge. [2018-08-09]. (原始內容存檔於2008-12-17).
- ^ 存档副本. [2018-08-09]. (原始內容存檔於2018-08-09).
- ^ 存档副本. [2018-08-09]. (原始內容存檔於2020-03-06).
- ^ pygame documentation: Tutorials. [2017-11-12]. (原始內容存檔於2017-11-10).
- ^ Shinners, Pete. Line by line tutorial — Tutorial for beginners. [2008-12-19]. (原始內容存檔於2005-02-05).
- ^ Creating Games with Python - A tutorial explaining how to use Pygame for game development and improved execution. [2008-12-19]. (原始內容存檔於2008-12-20).
- ^ PyGame Tutorials - tutorials with OOP approach. [2018-08-09]. (原始內容存檔於2018-08-09).
- ^ pyGame Basics. ShowMeDo.com. [2008-12-19]. (原始內容存檔於2007-04-29).
- ^ Arinoid tutorials video tutorials at ShowMeDo. [2008-12-19]. (原始內容存檔於2007-04-29).
連結
- Pygame homepage—Pygame documentation, wiki, news, download and more.
- An Introduction to Python Game Programming - written by Rene Dudfield and Geoff Howland
- Pyweek homepage(頁面存檔備份,存於互聯網檔案館)—regular contest to write a game during one week using Python (most entries use pygame).
- Pygame newsgroup[永久失效連結] (web access)— the "official" Pygame newsgroup,requires registration
- Line by line tutorial—Tutorial for beginners by Pete Shinners.
- Creating Games with Python(頁面存檔備份,存於互聯網檔案館) - A tutorial explaining how to use Pygame for game development and improved execution.
- pyGame Basics and Arinoid tutorials video tutorials at showmedo
- Beginning Game Development with Python and Pygame -- A new book discussing game development using Pygame
- Game Programming the L Line -- A book that introduces programming and game development with Python and pygame
- pyOpenGL(頁面存檔備份,存於互聯網檔案館) - Python OpenGL Bindings
|