飛機大戰5 遊戲背景

2021-10-03 05:41:40 字數 2457 閱讀 8477

執行備課**觀察背景影象的顯示效果:

解決辦法

建立兩張背景影象精靈

兩張影象一起向下方運動任意背景精靈rect.y >= 螢幕的高度說明已經移動到螢幕下方移動到螢幕下方的這張影象設定到螢幕的正上方

update()方法

繼承如果父類提供的方法,不能滿足子類的需求:

class

background

(gamesprite)

:"""遊戲背景精靈"""

defupdate

(self)

:# 1. 呼叫父類的方法實現

super()

.update(

)# 2. 判斷是否移出螢幕,如果移出螢幕,將影象設定到螢幕的上方

if self.rect.y >= screen_rect.height:

self.rect.y =

-self.rect.height

__create_sprites方法中建立精靈精靈組__update_sprites方法中,讓精靈組呼叫update()draw()方法

__create_sprites方法

def

__create_sprites

(self)

:# 建立背景精靈和精靈組

bg1 = background(

"./images/background.png"

) bg2 = background(

"./images/background.png"

) bg2.rect.y =

-bg2.rect.height

self.back_group = pygame.sprite.group(bg1, bg2)

__update_sprites方法

def

__update_sprites

(self)

: self.back_group.update(

) self.back_group.draw(self.screen)

思考 —— 上一小結完成的**存在什麼樣的問題?能否簡化?

思考 —— 精靈初始位置的設定,應該由主程式負責?還是由精靈自己負責

答案——由精靈自己負責

plane_sprites.py中實現background初始化方法

def

__init__

(self, is_alt=

false):

image_name =

"./images/background.png"

super()

.__init__(image_name)

# 判斷是否交替,如果是,將設定到螢幕頂部

if is_alt:

self.rect.y =

-self.rect.height

# 建立背景精靈和精靈組

bg1 = background(

)bg2 = background(

true

)self.back_group = pygame.sprite.group(bg1, bg2)

python飛機大戰 遊戲背景

背景交替滾動的思路確定 執行 備課 觀察 背景影象的顯示效果 解決辦法 建立兩張背景影象精靈 兩張影象 一起向下方運動 當 任意背景精靈 的 rect.y 螢幕的高度 說明已經 移動到螢幕下方 將 移動到螢幕下方的這張影象 設定到 螢幕的正上方 update 方法 繼承 如果父類提供的方法,不能滿足...

飛機大戰遊戲詳解

private void logic else if y2 mysu ceview.height public void draw canvas canvas,paint paint public void run 還要記得用 裁剪飛機 public void myplane canvas canv...

經典遊戲飛機大戰

好久沒更新了,想起之前做的飛機大戰 遊戲的主類 function game 將地圖掛載給遊戲 game.prototype.mapobj new map function map 飛機掛載給地圖 map.prototype.userplane function 建立飛機 function plane...