課程要求
通過鍵盤可以左右移動飛船
1.pygame得響應按鍵
添加得代碼
image.png
全部代碼
import pygame #導入第三方得pygame游戲庫
import sys #導入系統(tǒng)庫
"""
1顾彰、外星人入侵游戲
1.1 我們這次不使用函數荐健,后續(xù)逐步優(yōu)化升級捺典,我們只是使用python基礎得語法
"""
pygame.init() #這個是進行游戲初始化蒋腮,就是創(chuàng)建一個屏幕
screen = pygame.display.set_mode((1200,800)) #設置游戲屏幕得大小蒙具,寬和高千绪,注意這個是元組(1200例诀,800)
pygame.display.set_caption("外星人入侵") #這個是設置屏幕得名稱(左上角游戲名稱)
#首先游戲是不斷進行得随抠,需要使用無限循環(huán)裁着,使用while
bg_color = (230,230,230) #三原色設置背景顏色
#創(chuàng)建ship船艦
class Ship:
def __init__(self,screen): #這個是構造函數,初始化使用拱她,后續(xù)函數會詳細講解
"""
可設置相應rect對象的屬性center二驰、centerx或centery。要讓游戲元素與屏幕邊緣對齊秉沼,
可使用屬性top桶雀、bottom、left或right氧猬;要調整游戲元素的水平或垂直位置背犯,
可使用屬性x和y,它們分別是相應矩形左上角的x和y坐標盅抚。
"""
self.screen = screen #這個是初始化飛船平設置其初始化位置
# self.image = pygame.image.load("../images/ship.bmp") #設置飛船得路徑漠魏,一般在代碼文件目錄新建一個images
self.image = pygame.image.load("../images/ship.bmp")
self.rect = self.image.get_rect() #獲取圖像得大小
print("self.rect",self.rect)
self.screen_rect = screen.get_rect()
#將每艘新飛船放在屏幕底部中央
self.rect.centerx = self.screen_rect.centerx#
print(self.rect.centerx)
self.rect.bottom = self.screen_rect.bottom #
def blitme(self):
print(self)
self.screen.blit(self.image,self.rect) #在指定位置繪制飛船
#繪制飛機
ship = Ship(screen)
while True:
for event in pygame.event.get(): #不斷循環(huán)獲取坐標位置
# print(event) #這個可以看到屏幕是不斷進行刷新
if event.type == pygame.QUIT: #判斷這個是否點擊x進行退出
sys.exit() #系統(tǒng)退出指令
elif event.type == pygame.KEYDOWN: #首選需要判斷鍵盤是不是按下
if event.key == pygame.K_RIGHT: #判斷是不是往右方向鍵
ship.rect.centerx += 10 #移動一步
# ship.blitme() #
screen.fill(bg_color) #每次都進行屏幕得繪制
# screen.fill(ship)
# screen.blit(ship_bg,(100,100))
ship.blitme()
pygame.display.flip() #最近繪制屏幕可見
點擊左方向鍵移動飛船位置
image.png
bjvhc-nna9i.gif