您好,登錄后才能下訂單哦!
本篇內容主要講解“Python外星人入侵游戲重構鍵盤鼠標響應的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python外星人入侵游戲重構鍵盤鼠標響應的方法是什么”吧!
用法分析
在大型項目中,經常需要在添加新代碼前重構既有代碼。重構旨在簡化既有代碼的結構,使其更容易擴展。在本節中,我們將創建一個名為game_functions 的新模塊,它將存儲大量讓游戲《外星人入侵》運行的函數。通過創建模塊game_functions ,可避免alien_invasion.py太長,并使其邏輯更容易理解。
將check_events() 和update_screen放在一個名為game_functions 的模塊中
代碼實例
#======================================================
#功能:game_functions 類
#作者:python小哥
#時間:2020-7-5
#微信公眾號:DJXY00001
#微信名稱:Python提升課堂
#Version:1.0
#======================================================
import sysimport pygamedef check_events(): """響應按鍵和鼠標事件""" for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit()def update_screen(ai_settings, screen, ship): """更新屏幕上的圖像,并切換到新屏幕""" # 每次循環時都重繪屏幕 screen.fill(ai_settings.bg_color) ship.blitme() # 讓最近繪制的屏幕可見 pygame.display.flip()
這個模塊中導入了事件檢查循環要使用的sys 和pygame 。當前,函數check_events() 不需要任何形參,其函數體復制了alien_invasion.py的事件循環。
下面來修改alien_invasion.py,使其導入模塊game_functions ,并將事件循環替換為對函數check_events() 的調用。屏幕更新代碼替換為update_screen函數。
#======================================================
#功能:alien_invasion類
#作者:python小哥
#時間:2020-7-5
#微信公眾號:DJXY00001
#微信名稱:Python提升課堂
#Version:1.0
#======================================================
import pygamefrom settings import Settingsfrom ship import Shipimport game_functions as gfdef run_game(): --snip-- # 開始游戲主循環 while True: gf.check_events() gf.update_screen(ai_settings, screen, ship)
其中--snip--代表延續前節的內容。
在主程序文件中,不再需要直接導入sys ,因為當前只在模塊game_functions 中使用了它。出于簡化的目的,我們給導入的模塊game_functions 指定了別名gf 。
代碼運行輸出:
我們一開始只想使用一個文件,因此沒有立刻引入模塊game_functions 。這讓你能夠了解實際的開發過程:一開始將代碼編寫得盡可能簡單,并在項目越來越復雜時進行重構。
到此,相信大家對“Python外星人入侵游戲重構鍵盤鼠標響應的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。