1、初始化背景
`import pygame` : 匯入pygame模組
`pygame.init(
)` : 匯入並初始化所有 `pygame` 模組,使用其他模組之前,必須先呼叫 `init` 方法
# 1.建立遊戲視窗(長480 *寬700)
`screen = pygame.display.set_mode(
(480
,700))`
# 2.載入影象資料(將./images/background.png該路徑的載入)
`bg = pygame.image.load(
"./images/background.png"
)`# 3.blit繪製影象(將bg設定左上角的座標為(0,0))
`screen.blit(bg,(0
,0))`
# 4.update 更新螢幕顯示(可以在screen物件完成所有blit方法之後,統一呼叫一次display.update方法,同樣可以在螢幕上看到最終的繪製結果)
`pygame.display.update(
)`# 5.quit解除安裝所有 `pygame` 模組,在遊戲結束之前呼叫!
`pygame.quit(
)`
2、遊戲時鐘# 1.建立時鐘物件
`clock = pygame.time.clock(
)`# 2.指定遊戲迴圈內部的**,這裡一秒鐘60次(60幀,在迴圈內部使用)
`clock.tick(
60)`
3、事件# 捕獲事件
event_list = pygame.event.get()
# 遍歷事件,當點到關閉時,會滿足event.type == pygame.quit,此時解除安裝終止程式可退出偷襲
for event in event_list:
if event.
type
== pygame.quit:
print
("遊戲退出..."
)# 解除安裝模組
pygame.quit(
)# 終止程式
exit(
)
4、 精靈和精靈組預設的
update()
方法什麼事情也沒做注意:
pygame.sprite.sprite
並沒有提供image
和rect
兩個屬性精靈組呼叫精靈組物件的
draw(螢幕物件)
方法
import pygame
class
gamesprite
(pygame.sprite.sprite)
:"""飛機大戰遊戲精靈"""
def__init__
(self, image_name, speed=1)
:# 呼叫父類的初始化方法
super()
.__init__(
)# 定義物件的屬性
self.image = pygame.image.load(image_name)
self.rect = self.image.get_rect(
) self.speed = speed
# 重寫update函式
defupdate
(self)
:# 在螢幕垂直的方向移動
self.rect.y += self.speed
# 建立精靈
enemy1 = gamesprite(
"./images/enemy1.png"
)enemy2 = gamesprite(
"./images/enemy1.png"
, speed=2)
# 建立精靈組
enemy_group = pygame.sprite.group(enemy1, enemy2)
# 精靈組的update
enemy_group.update(
)# 精靈組的draw
enemy_group.draw(screen)
python飛機大戰 遊戲背景
背景交替滾動的思路確定 執行 備課 觀察 背景影象的顯示效果 解決辦法 建立兩張背景影象精靈 兩張影象 一起向下方運動 當 任意背景精靈 的 rect.y 螢幕的高度 說明已經 移動到螢幕下方 將 移動到螢幕下方的這張影象 設定到 螢幕的正上方 update 方法 繼承 如果父類提供的方法,不能滿足...
python小遊戲 飛機大戰(3)
二 新增 動畫 3 執行展示 三 遊戲結束介面 四 計分 五 提公升遊戲難度 六 總結 前兩節已經實現遊戲基本功能,接下來是對遊戲的完善,包括 動畫 計分 結束畫面等。這個其實是在剛開始開發就需要做的,這裡是為了方便讀者理解,將其挪到遊戲基本功能完成後再進行調整。基本思路其實很簡單,就是建立時鐘物件...
飛機大戰遊戲詳解
private void logic else if y2 mysu ceview.height public void draw canvas canvas,paint paint public void run 還要記得用 裁剪飛機 public void myplane canvas canv...