pygame

維基百科,自由的百科全書
跳至導覽 跳至搜尋
Pygame
File:Pygame logo.svg
開發者pygame Community
首次發布2000年10月30日,​25年前​(2000-10-30[1][2]
當前版本2.6.1(2024年8月30日,​21個月前​(2024-08-30[3]
源代碼庫
  • {{URL|example.com|可选的显示文本}}
Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
引擎
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    操作系統跨平台
    類型API
    許可協議GNU寬通用公共許可證
    網站http://www.pygame.org

    pygame[4]跨平台Python模塊組,專為電子遊戲設計。包含圖像、聲音。建立在SDL基礎上,允許實時電子遊戲研發而無需被低階語言,如C語言或是更低階的組合語言束縛。基於這樣一個設想,所有需要的遊戲功能和理念都(主要是圖像方面)完全簡化位遊戲邏輯本身,所有的資源結構都可以由高級語言提供,如Python

    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]

    參考[編輯]

    1. ^ Shinners, Pete. Python Pygame Introduction - History. [2018-10-18]. (原始內容存檔於2019-09-17). 
    2. ^ Downloads - Pygame - Python game development. [2018-10-18]. (原始內容存檔於2018-04-13). 
    3. ^ pygame 2.6.1 - python 3.13 bugfix release. 
    4. ^ About — wiki. [2019-12-30]. (原始內容存檔於2019-09-18). 
    5. ^ Libregamewiki's article on Pygame. [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. Learn Python the hard way. Addison-Wesley Professional. 2017 [2021-09-21]. ISBN 978-0134692883. (原始內容存檔於2021-09-06). 
    10. ^ PyWeek - Python Game Programming Challenge. [2018-08-09]. (原始內容存檔於2008-12-17). 
    11. ^ 存档副本. [2018-08-09]. (原始內容存檔於2018-08-09). 
    12. ^ 存档副本. [2018-08-09]. (原始內容存檔於2020-03-06). 
    13. ^ pygame documentation: Tutorials. [2017-11-12]. (原始內容存檔於2017-11-10). 
    14. ^ Shinners, Pete. Line by line tutorial — Tutorial for beginners. [2008-12-19]. (原始內容存檔於2005-02-05). 
    15. ^ Creating Games with Python - A tutorial explaining how to use Pygame for game development and improved execution. [2008-12-19]. (原始內容存檔於2008-12-20). 
    16. ^ PyGame Tutorials - tutorials with OOP approach. [2018-08-09]. (原始內容存檔於2018-08-09). 
    17. ^ pyGame Basics. ShowMeDo.com. [2008-12-19]. (原始內容存檔於2007-04-29). 
    18. ^ Arinoid tutorials video tutorials at ShowMeDo. [2008-12-19]. (原始內容存檔於2007-04-29). 

    鏈接[編輯]