Python外星人入侵游戏重构键盘鼠标响应的方法是什么
本篇内容主要讲解"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外星人入侵游戏重构键盘鼠标响应的方法是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!