Python學習筆記 Day 14 專案 -外星人入侵 - 2
阿新 • • 發佈:2018-12-21
Day 14 專案 -外星人入侵 - 2
- 首先是歸納Day13學習到的有關pygame的知識,用流程圖方式,繪圖軟體:https://www.draw.io/
- 初始化視窗,包括獲取控制代碼,獲取視窗矩形
screen = pygame.display.set_mode(width, height)
pygame.display.set_caption("Alien Invasion")
self.image = pygame.image.load('images/ship.bmp')
self.rect = self.image. get_rect()
self.screen_rect = screen.get_rect()
-
pygame的Sprit類
from pygame.sprite import Sprite from pygame.sprite import Group
- pygame.Sprit類,即‘精靈’,可將遊戲中的相關元素編組,進而同時操作編組中的所有元素,類似於建立一個列表。
- 精靈,可以理解為會動的圖片;
- 精靈的Group()函式,當有若干精靈時,可通過Group()函式建立一個列表。每次對組內的精靈進行繪製時,直接呼叫Group.update()即可,而不必考慮組內每個精靈的狀態。
- 舉例來說,定義一個外星人,是繼承Sprite的類,建立了若干外星人後,在螢幕上一起顯示,每個外星人的在螢幕上的位置都是隨機的,並且要檢測邊界、檢測衝突等等,如果不用Group,需要對每個外星人都做單獨的計算更新等等:
for alien in aliens: alien.update() screen.blit(alien.image, alien.rect)
如果使用Group,在建立外星人的時候將這些外星人加入群組即可,以後每次只需要更新一次群組即可實現對所有外星人的更新,並且提供內建的衝突檢測等功能。
for alien_number in
-
響應使用者輸入(左右箭頭移動飛船)