Font方法:(用於載入字體,一般寫在遊戲主循環外)
score_font = pygame.font.Font("font/font.ttf", 36) ##括號的第一個參數是字體的路徑(ttf格式),第二的參數是字體的大小
render方法:(把字體(text)變成surface對象,一般寫在有序主循環內)
score_text = score_font.render("Score : %s" % str(score), True,WHITE) ##第一個參數是text(以字符串的形式),第二個參數是"是否消除鋸齒",第三個參數是字體顏色
2.暫停按鈕
#遊戲暫停按鈕
paused = False
paused_nor_image = pygame.image.load("Images/shoot/game_pause_nor.png").convert_alpha() #載入淺色暫停按鈕
paused_pressed_image = pygame.image.load("Images/shoot/game_pause_pressed.png").convert_alpha() #載入深色暫停按鈕
resume_nor_image = pygame.image.load("Images/shoot/game_resume_nor.png").convert_alpha() #載入淺色開始按鈕
resume_pressed_image = pygame.image.load("Images/shoot/game_resume_pressed.png").convert_alpha() #載入深色開始按鈕
paused_rect = paused_nor_image.get_rect() #獲取圖片矩形位置
paused_rect.left, paused_rect.top = width - paused_rect.width - 10, 10
paused_image = paused_nor_image #pause按鈕的默認初始狀態
...while中...
for event in pygame.event.get():
...
elif event.type == MOUSEBUTTONDOWN:
if event.button == 1 and paused_rect.collidepoint(event.pos):
paused = not paused
elif event.type == MOUSEMOTION:
if paused_rect.collidepoint(event.pos): #判斷鼠標的位置是否在paused_rect這個位置上,如果是就顯示“深 色”圖標
if paused:
paused_image = resume_pressed_image #如果在暫停的情況下,圖片變成“深 色 繼 續”圖片
else:
paused_image = paused_pressed_image #如果在繼續的情況下,圖片變成“深 色 暫 停”圖片
else: #如果鼠標沒在paused_rect上方的話,就顯示 “淺 色” 圖標
if paused:
paused_image = resume_nor_image
else:
paused_image = paused_nor_image
...
#繪製暫停按鈕
screen.blit(paused_image, paused_rect)
3.難度的設置
在遊戲主循環中,通過對玩家得分進行簡單的if...else...判斷即可實現
4.全屏炸彈
炸彈圖片載入
爆炸效果:清除正在屏幕中的飛機