python製作飛機大戰遊戲準備工作相關知識點

2021-10-09 08:37:18 字數 2208 閱讀 8062

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並沒有提供imagerect兩個屬性

精靈組呼叫精靈組物件的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...