pygame開發游戲的主要流程


轉載注明鏈接:https://www.cnblogs.com/liquancai/p/13227839.html

pygame開發游戲的主要流程

pygame開發游戲的基礎是創建游戲窗口,核心是處理事件、更新游戲狀態和在屏幕上繪制圖形。游戲狀態可以理解為程序中所有變量值的列表。在有些游戲中,游戲狀態包括存放人物健康個位置的變量、物體或圖形位置的變化,這些值可以在屏幕上表示。

物體或圖形位置的變化只有通過在屏幕上繪圖才可以看出來。

可以簡單的抽象出pygame開發游戲的主要流程如下:

image-20200702225938129

下面舉一個具體例子來說明:

使用 pygame 開發一個顯示 “Hello World!”標題的窗口

import pygame

def hello_world():
    pygame.init()
    pygame.display.set_mode((400, 600))
    pygame.display.set_caption("Hello World!")
    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()
        pygame.display.update()


if __name__ == '__main__':
    hello_world()

運行后僅見到黑色的游戲窗口,標題是“Hello World!”,如下所示:

image-20200702231051363

在導入pygame模塊后,任何pygame游戲程序均需要執行 pygame.init() 語句進行模塊的初始化,它必須在進入游戲的無限循環之前被調用。這個函數會自動初始化其他所有模塊(例如 pygame.font 和 pygame.image),通過它載入驅動和硬件請求,這樣游戲程序才可以使用計算機上的所有設備,比較費時間。如果只使用少量的模塊,應該分別初始化這些模塊以節省時間,例如 pygame.sound.init() 僅僅初始化聲音模塊。

該代碼中有個無限循環,每個 pygame 程序都需要它,在無限循環中可以做以下操作。

  1. 處理事件:例如鼠標 、鍵盤 、關閉窗口等事件。
  2. 更新游戲狀態:例如坦克的位置變化 、數量變化等。
  3. 在屏幕上繪圖:例如繪制新的敵方坦克等。

不斷重復上面3個步驟,從而完成游戲邏輯。

在本例代碼中僅僅處理關閉窗口事件,也就是玩家關閉窗口時 pyagme.quit() 退出游戲。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM