python大作业外星人入侵_【python3小白上路系列】外星人入侵——开始
早起的周日,今日陰天,老爸生日快樂~
開始項目
首先創建一個空的Pygame窗口,供后面用來繪制游戲元素,如飛船和外星人。我們還將讓這個游戲響應用戶輸入、設置背景色以及加載飛船圖像。
1.1.1 創建Pygame窗口以及相應用戶輸入
首先,我們創建一個空的Pygame窗口。使用Pygame編寫的游戲的基本結構如下:
import pygame
import sys
import pygame
def run_game():
# 初始化游戲并創建一個屏幕對象
pygame.init()
screen = pygame.display.set_mode((1920,1080))
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()
現在運行的話,我們會看到一個空的Pygame窗口。
1.1.2 設置背景色
Pygame默認創建一個黑色屏幕,這太乏味了。下面來將背景設置為另一種顏色:
import pygame
import sys
import pygame
def run_game():
# 初始化游戲并創建一個屏幕對象
pygame.init()
screen = pygame.display.set_mode((1920,1080))
pygame.display.set_caption("Alien Invasion")
# 設置背景色
bg_color = (230,230,230)
# 開始游戲的主循環
while True:
#監視鍵盤和鼠標事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
#每次循環時都重繪屏幕
screen.fill(bg_color)
#讓最近繪制的屏幕可見
pygame.display.flip()
run_game()
讓我們再來運行一下:
1.1.3 創建設置類
每次給游戲添加新功能時,通常也將引入一些新設置。下面來編寫一個名為settings 的模塊,其中包含一個名為Settings 的類,用于將所有設置存儲在一個地方,以免在代碼中到處添加設置。這樣,我們就能傳遞一個設置對象,而不是眾多不同的設置。另外,這讓函數調用更簡單,且在項目增大時修改游戲的外觀更容易:要修改游戲,只需修改settings.py中的一些值,而無需查找散布在文件中的不同設置。
下面是初始設置:
class Settings():
"""存儲游戲所有設置"""
def __init__(self):
"""初始化游戲設置"""
#屏幕設置
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (230,230,230)
為創建Settings 實例并使用它來訪問設置,將alien_invasion.py修改成下面這樣:
import pygame
import sys
import pygame
from settings import Settings
def run_game():
# 初始化游戲并創建一個屏幕對象
pygame.init()
ai_settings = Settings()
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))
pygame.display.set_caption("Alien Invasion")
# 開始游戲的主循環
while True:
#監視鍵盤和鼠標事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
#每次循環時都重繪屏幕
screen.fill(ai_settings.bg_color)
#讓最近繪制的屏幕可見
pygame.display.flip()
run_game()
運行結果:
就到這里吧,準備出去溜~
總結
以上是生活随笔為你收集整理的python大作业外星人入侵_【python3小白上路系列】外星人入侵——开始的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坚果和极米这两个牌子的投影机哪个更好?
- 下一篇: python apscheduler执行