目錄
前言
一、安裝pygame庫
?1、pygame庫簡介
?2、在windows系統安裝pygame庫
二 、搭建游戲框架
1、創建游戲窗口?
?2、改變窗口顏色
?總結
前言
大家應該都看過或者都聽說過python神書“大蟒蛇”,上面有一個案例是《外星人入侵》,游戲介紹讓我想起了上學時候玩過的星際爭霸,又讓我想起小時候玩的小霸王游戲小蜜蜂,下面我們就按照書籍步驟,看能否實現游戲功能,然后再升級。
一、安裝pygame庫
?1、pygame庫簡介
Pygame庫是一個用于編寫2D游戲的Python庫。它提供了許多用于處理圖像、聲音等方面的功能,使得開發者能夠快速、輕松地創建自己的游戲。Pygame在跨平臺兼容性方面表現良好,可以在多個操作系統下使用。
Pygame的核心是Surface(表面)對象,它代表了一個可繪制的區域。Pygame可以通過在Surface上繪制圖形和文本來創建游戲元素。Pygame還提供了事件處理、碰撞檢測、時鐘控制等常用功能,使得開發者可以輕松地實現游戲邏輯。
除了基本功能之外,Pygame還有大量的擴展模塊可供使用,如Pygame.mixer(用于播放音頻)、Pygame.font(用于處理字體)等。開發者可以根據自己的需求選擇性的引入這些模塊。
總之,Pygame為開發者提供了大量的工具和函數庫,使得開發游戲變得更加容易和愉快。
?2、在windows系統安裝pygame庫
?有過簡單基礎的小伙伴都知道,安裝庫是最簡單的,只要輸入代碼就行
pip install pygame
?我們在命令行下輸入命令,如圖
?這就開始安裝了,出現成功的單詞就表示安裝成功了
二 、搭建游戲框架
1、創建游戲窗口?
我們按照書上步驟,先創建一個空的窗口試試看能否成功?
為避免后續調用發生錯亂,我們建立的python文件也命名為alien_invasion.py,alien的意思是外星人,invasion的意思是進攻。
先放代碼,后續再詳解
import sys
import pygamedef run_game():pygame.init()screen = pygame.display.set_mode((800,600))pygame.display.set_caption("Alien Invasion")while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()pygame.display.flip()run_game()
下面我們來一一介紹:
??sys模塊是Python標準庫中的一個模塊,提供了與Python解釋器和運行時環境有關的功能,使用sys庫可以獲取Python解釋器的信息,控制程序的退出、標準輸入輸出和錯誤流,以及操作模塊搜索路徑等。所以這里導入sys模塊的目的是控制程序的退出
??pygame.init()是初始化游戲對象,這個操作是必須的,規定動作一定要做。這個函數將初始化 Pygame 庫并為其提供必要的資源和支持。初始化后,才能正常使用 Pygame 庫中的功能。
??display模塊是Pygame中用于管理屏幕和窗口的模塊。它包含了一些用于初始化pygame顯示模塊、設置屏幕分辨率、創建游戲窗口、更新窗口內容、處理事件等功能的函數。可以很好理解,pygame.display.set_mode((800,600))是設置窗口大小,pygame.display.set_caption("Alien Invasion")是設置窗口的名稱
??循環語句就是一直監聽鼠標和鍵盤的操作,這個后面有鍵盤和鼠標輸入的時候我們再詳細講。這個代碼很好理解,判斷如果游戲退出,那么就關閉程序。循環的最后一個語句pygame.display.flip(),我個人理解就是刷新,不斷的刷新屏幕,保持動態效果。
?我們來運行下看看效果怎么樣。
?
?效果非常的棒,和我們想的一樣,下一步就是要改變窗口的顏色了。
?2、改變窗口顏色
我們知道,很多軟件包括Python都是用RGB值來控制顏色,RGB是紅、綠、藍三個顏色分量的縮寫,每個分量的值可以在0到255之間取整數值,因此RGB可以表示256256256=16777216種不同的顏色。其中一些常用的顏色和它們所對應的RGB值如下:
- 紅色:(255, 0, 0)
- 黃色:(255, 255, 0)
- 綠色:(0, 255, 0)
- 青色:(0, 255, 255)
- 藍色:(0, 0, 255)
- 紫色:(255, 0, 255)
- 白色:(255, 255, 255)
- 黑色:(0, 0, 0)
我們只需要加一行代碼,在每次繪制屏幕之前,也就是我上面說的刷新之前,給窗口定義一個顏色就行,我們來試下青色的背景。
import sys
import pygamedef run_game():pygame.init()screen = pygame.display.set_mode((800,600))pygame.display.set_caption("Alien Invasion")while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()screen.fill((0,255,255))pygame.display.flip()run_game()
?加上代碼screen.fill((0,255,255))之后,效果立馬顯現,看圖片
?
?總結
?萬事開頭難,今天將游戲的屏幕設置好了,后面我們將各種小蟲子添加上去就行。
?