欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pygame實現(xiàn)游戲最小系統(tǒng)功能詳解

 更新時間:2022年11月28日 08:32:01   作者:熱愛科技的劉同學  
這篇文章主要介紹了Pygame實現(xiàn)游戲最小系統(tǒng),Pygame是一個專門用來開發(fā)游戲的 Python 模塊,主要為開發(fā)、設計 2D 電子游戲而生,具有免費、開源,支持多種操作系統(tǒng),具有良好的跨平臺性等優(yōu)點

前言

“我有一個夢想,那就是有生之年做出一款屬于自己的游戲。”

不知道屏幕前的你是否曾經(jīng)有和我一樣的想法,總覺得市面上的游戲不完全符合你的胃口,想要自己開發(fā)出一款屬于自己的獨有的游戲。

此時,如果你正好學了Python,那么你的機會來了,python也是可以做游戲的!本篇文章將介紹Python一個非常有趣又功能強大庫,它所擁有的模塊幾乎包含了2D游戲常用功能的實現(xiàn),讓你用Python也能開發(fā)出一款小型的2d游戲,它的名字就是—— pygame。

一、什么是pygame

Pygame是一個專門用來開發(fā)游戲的 Python 模塊,主要為開發(fā)、設計 2D 電子游戲而生,具有免費、開源,支持多種操作系統(tǒng),具有良好的跨平臺性等優(yōu)點。

Pygame它提供了諸多操作模塊,比如圖像模塊(image)、聲音模塊(mixer)、輸入/輸出(鼠標、鍵盤、顯示屏)模塊等。簡單來說,如果你使用pygame,理論上可以開發(fā)設計市面上所有的2d類型游戲(僅僅是理論上)。

但是,實際上,我學習pygame并不是說要用它來開發(fā)一款完美的游戲,pygame太過于底層,許多功能都要自己來封裝實現(xiàn)。也許你用pygame開發(fā)一款超級瑪麗時間,別人都能學會C#用unity開發(fā)和平精英了(夸張)。

那么既然如此,為什么還要來學它?

1.1 學習pygame的用處

Pygame適合小型2d游戲開發(fā),比如于飛機大戰(zhàn)、貪吃蛇、掃雷等,游戲越大,開發(fā)越困難。所以,學習pygame你可以復刻一款小時候玩的經(jīng)典游戲,比如超級瑪麗,魂斗羅之類的,然后更改一些游戲角色及內(nèi)容,哄哄家里的弟弟妹妹(就是裝X唄)。

更重要的一點,我希望你能夠通過學習pygame深入理解python面向?qū)ο蟮乃枷?,python面向?qū)ο笫沁@門語言的精髓之一。掌握python面向?qū)ο蟮乃枷?,也是你成功跨過python基礎的標志之一,對于你后面選擇的學習方向(web開發(fā),自動化,爬蟲等等)的入門非常有幫助。有了python面向?qū)ο蟮睦喂袒A,學習python高級的東西你會覺得也就那么回事,有一法破萬法的效果。

當然,值得一提的是如果你真的對游戲開發(fā)感興趣,又有python基礎,那么通過pygame你可以初步了解關于游戲開發(fā)的一些基礎知識,等到用pygame開發(fā)一兩個小游戲,再來思考一下自己適不適合游戲開發(fā),畢竟游戲開發(fā)的精髓都是相通的,那些高級游戲引擎只是把一些基礎功能封裝好了讓你用,pygame只是需要你用自己的手去打造自己的工具箱。

1.2 pygame里的游戲世界

在講解具體代碼之前,還是要科普一些pygame里游戲的基礎知識。

你印象中的2d游戲由哪些成分構成?首先要有一個窗口,它規(guī)定游戲畫面占你的屏幕的尺寸大小,也可以設計游戲名字,背景等等。其次就是各種場景,一個游戲可以看做是由許多個場景組成的,比如超級瑪麗的開始菜單場景,第一關,第二關等等。場景要有內(nèi)容,比如背景,主角,敵人,子彈,物品(如超級瑪麗的磚塊等等)。

在后面就是主角與敵人或者其它對象的各種交互動作,如白色瑪麗會發(fā)射子彈,踩到敵人壓扁對方等等。最后則是貫穿場景的各種音效,聲音等等。

二、pygame簡單講解

本篇文章不打算太深入pygame,旨在增加你對python的理解,以及吸引你對pygame游戲開發(fā)的一點點興趣,或者你之前學過pygame但忘記了,希望本篇文章可以幫到你。如果你想要系統(tǒng)學習pygame,建議先看B站免費教程,然后自己通過官網(wǎng)深入學pygame。

廢話不多說,我將通過自己初學時學的一個例子來讓你實現(xiàn)pygame的初步入門。

2.1 安裝pygame

pip install pygame

一直都是通過pycharm安裝python第三方庫,簡直不要太爽.

2.2 游戲最小系統(tǒng)

什么是游戲最小系統(tǒng)(不知道有沒有這個名詞)?可以理解為游戲能夠運行不報錯的最小代碼。

# 導入庫
import pygame
# 初始化操作,游戲開始之前,運行該代碼進行初始化
pygame.init()
# 創(chuàng)建游戲窗口,注意設置了window這個變量
window = pygame.display.set_mode((600,400))
# 設置游戲標題
pygame.display.set_caption('游戲最小系統(tǒng)')
# 給窗口設置背景顏色
window.fill((255,255,255))

運行上面代碼你會發(fā)現(xiàn)左上角出現(xiàn)一個窗口,然后一閃即過,這是正常的。這里就要思考python代碼的運行,通過執(zhí)行上述代碼,你創(chuàng)建了一個黑色窗口,但是當代碼執(zhí)行完會發(fā)生什么,當然是python自動退出了。所以你要使用一定的方法不讓代碼結束運行,這就要添加“死循環(huán)”了,這很好理解,while true 會一遍又一遍的運行里面的代碼而不退出。

# 保持游戲運行狀態(tài)(游戲循環(huán))
while True:
    # 檢測事件發(fā)生,先把事件全部拿過來,再看發(fā)生的是哪一件事。
    for event in pygame.event.get():
        # 檢測關閉按鈕被點擊的事件
        if event.type == pygame.QUIT:
            # 如果按下屏幕里的X號就會退出
            exit()

看到循環(huán)里面添加的for循環(huán)及if語句嗎?它們有什么作用。由于循環(huán)會一直執(zhí)行,里面的代碼會一遍又一遍進行檢測,所以在里面就可以有很多操作了。這就是之前提到的主角與敵人或其它物品的交互部分,代碼會一直檢測發(fā)生了什么事情,并作出反應,也包括開發(fā)游戲常說的碰撞檢測。

所以結合上面,最小系統(tǒng)就出來了,它只是一個黑屏,但是它是游戲的基礎框架。

import pygame
# 初始化操作
pygame.init()
# 創(chuàng)建游戲窗口
window = pygame.display.set_mode((600,400))
# 設置游戲標題
pygame.display.set_caption('游戲最小系統(tǒng)')
# 設置背景顏色
window.fill((255,255,255))
# ========游戲開始頁面靜態(tài)效果==========
# 保持游戲運行狀態(tài)(游戲循環(huán))
while True:
    # ===========游戲幀的刷新===========
    # 檢測事件
    for event in pygame.event.get():
        # 檢測關閉按鈕被點擊的事件
        if event.type == pygame.QUIT:
            # 退出
            exit()

到此這篇關于Pygame實現(xiàn)游戲最小系統(tǒng)功能詳解的文章就介紹到這了,更多相關Pygame游戲系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

最新評論