(五)通過pygame搭建遊戲框架

2021-10-05 22:58:10 字數 3030 閱讀 5351

python飛機大戰系列文章(按順序)

(一)通過pygame 將自己的影象新增到遊戲中

(二)通過pygame讓遊戲人物 動起來

(三)通過pygame處理使用者的滑鼠鍵盤操作(事件和監聽

(四)詳解pygame中的精靈和精靈組

(五)通過pygame搭建遊戲框架

(六)通過pygame讓遊戲背景影象實現交替滾動

(七)通過pygame來設定飛機大戰中 敵機 的速度、位置等

(八)通過pygame來操控遊戲人物的移動

(九)通過pygame使遊戲人物發射子彈

(十)通過pygame來進行碰撞檢測

遊戲框架的搭建

要搭建乙個遊戲的框架,首先要明確主程式的職責

由之前的案例可以得知,乙個遊戲的主程式的職責可以分成兩個部分

遊戲初始化

遊戲迴圈

現在我們根據明確的職責,設計planegame類如下:

①封裝主遊戲類

②建立遊戲物件

③啟動遊戲

【注意:開發中如果遇到固定數值的時候(比如本例的螢幕大小和每秒重新整理幀率),最好不要直接使用固定數值,而是使用常量常量的命名規則為所有的字母都使用大寫,單詞與單詞之間使用下劃線連線,如果需要調整值,只需要修改常量的定義就可以實現統一修改】

那麼現在大體可以得到乙個簡單的框架(**還未完全)

其中,plane_sprites的內容為:

import pygame

#螢幕大小的常量

screen_rect = pygame.rect(0,

0,480,

700)

#重新整理的幀率的常量

frame_per_sec =

60class

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

defupdate

(self)

:#在螢幕垂直方向上移動

self.rect.y += self.speed

plane_main的內容為:

import pygame

from plane_sprites import

*class

planegame

(object):

"""飛機大戰主遊戲"""

def__init__

(self)

:print

("遊戲初始化"

)#建立遊戲視窗

self.screen = pygame.display.set_mode(screen_rect.size)

#建立遊戲的時鐘

self.clock = pygame.time.clock(

)#呼叫私有方法,精靈和精靈組的建立

self.__create_sprites(

)def

__create_sprites

(self)

:pass

defstart_game

(self)

:print

("遊戲開始"

)while

true

:#設定重新整理幀率

self.clock.tick(frame_per_sec)

#事件監聽

self.__event_handler(

)#碰撞檢測

self.__check_collide(

)#更新/繪製精靈組

self.__update_sprites(

)#更新顯示

pygame.display.update(

)def

__event_handler

(self)

:for event in pygame.event.get():

#判斷是否退出遊戲

if event.

type

== pygame.quit:

planegame.__game_over(

)def

__check_collide

(self)

:pass

def__update_sprites

(self)

:pass

#沒有使用物件屬性和類屬性,所以定義為靜態方法

@staticmethod

def__game_over()

:print

("遊戲結束"

) pygame.quit(

) exit(

)if __name__ ==

'__main__'

:#建立遊戲物件

game = planegame(

)#啟動遊戲

game.start_game(

)

centos7通過nginx搭建SSL

今天給大家帶來的是一篇關於通過nginx搭建https訪問轉跳後端http的教程,部署方式如下 安裝基礎元件 yum y isntall firewalld yum y install gcc gcc c yum y install pcre devel yum y install zlib dev...

win 10通過自帶IIS搭建ftp

win10建立ftp 大致過程和一般的通過iis建立ftp類似。首先,控制面板裡 程式 啟用或關閉windows功能 安裝internet資訊服務 ftp伺服器 和 web管理工具 單擊 我的電腦 右鍵管理,會彈出 計算機管理 開啟最下邊 服務和應用程式 internet information s...

CentOS7通過http方式搭建本地yum源

1.建立yum軟體儲存目錄 mkdir var www html yum 這裡補充一句 將磁碟上的iso檔案掛載到乙個目錄上的方法 用mount o loop mnt 1.iso opt cdrom2.修改yum配置檔案先備份yum配置檔案,修改yum配置檔案中yum軟體包儲存目錄並開啟rmp包快取...