快速编程入门配套教材课件完整版(文字可修改版).ppt

快速编程入门配套教材课件完整版(文字可修改版).ppt

PPT课件完整版PPT完整版课件全套课件全套PPT全册课件全册PPT全册电子教案全书课件全书PPT全书电子教案整套课件整套PPT教学课件汇总电子教案汇总PPT汇总教学教程幻灯片

11.5.1 指示器面板类的设计 (1)游戏数据属性 指示器面板类中封装了4个与游戏数据相关的属性,关于这些属性的说明如表所示。 属性 说明 score 游戏得分,初始为?0 lives_count 英雄的生命计数,初始为?3 level 游戏级别,初始为?1 best_score 最好成绩,保存在?record.txt?文件中 11.5.1 指示器面板类的设计 (2)精灵属性 指示器面板类中封装了3个图像精灵和6个标签精灵属性,关于这些精灵属性的说明如表所示。 属性 说明 status_sprite 状态精灵,显示在游戏窗口左上角 bomb_sprite 炸弹精灵,显示在游戏窗口左下角 lives_sprite 生命计数精灵,显示在游戏窗口右下角 score_label 得分标签,显示在状态精灵的右侧 bomb_label 炸弹计数标签,显示在炸弹精灵的右侧 lives_label 生命计数标签,显示在生命计数精灵的右侧 best_label 最好成绩标签,显示在游戏窗口中间 status_label 状态标签,显示在最好成绩上方,文字为?Game Over!?或者?Game Paused! tip_label 提示标签,显示在最好成绩下方 11.5.1 指示器面板类的设计 关于指示器面板类的属性和方法的说明如下。 2.指示器面板类的方法 指示器面板类中封装了众多负责显示和更新数据、游戏状态的方法,关于这些方法的说明如表所示。 方法 说明 reset_panel() 重置面板数据。开启新一轮游戏之前,将游戏数据属性恢复为初始值 show_bomb() 显示炸弹数量。根据传入的炸弹数量,更改炸弹计数标签显示 show_lives() 显示生命计数。使用lives_count属性值更新生命计数标签显示 increase_score() 增加分数。根据消灭的敌机分值增加游戏得分、计算是否奖励生命、调整最好成绩以及计算游戏级别,并且更改分数标签显示 reset_panel() 重置面板数据。开启新一轮游戏之前,将游戏数据属性恢复为初始值 load_best_score() 加载最好成绩。从record.txt文件中加载最好成绩 save_best_socre() 保存最好成绩。将最好成绩保存到?record.txt文件中 panel_paused() 面板暂停。当游戏暂停/结束时,显示游戏窗口中间位置的游戏暂停/结束的提示信息 panel_resume() 面板恢复。当游戏运行时,隐藏游戏窗口中间位置的提示信息 11.5.2 指示器面板类的准备 明确了指示器面板类的设计之后,接下来我们要完成指示器面板类的准备工作,包括: 创建指示器面板类。 设计状态按钮类。 创建图像精灵。 11.5.2 指示器面板类的准备 1.创建指示器面板类 在game_hud模块中定义HudPanel类,并实现构造方法。 2.设计状态按钮类 按照游戏说明,玩家按下空格键暂停或继续游戏时,游戏窗口左上角状态精灵的显示图像会发生相应的变化。为了方便后续的代码,我们可以从GameSprite类派生一个子类StatusButton类,通过StatusButton类处理状态图像的切换。 11.5.2 指示器面板类的准备 1.创建指示器面板类 在game_hud模块中定义HudPanel类,并实现构造方法。 2.设计状态按钮类 StatusButton类的类图如图所示。 11.5.2 指示器面板类的准备 3.创建图像精灵 在HUDPanel类的构造方法中创建指示器面板中的图像精灵,包括左上角的状态精灵(暂停 / 继续)、左下角的炸弹精灵、以及右下角的生命计数(小飞机)精灵。 首先,在构造方法的上方定义几个类属性,以方便后续可以设置精灵的矩形区域和标签精灵的字体颜色。 然后,在构造方法的末尾创建精灵并设置显示位置。 最后,在Game类的构造方法末尾创建指示器面板。 11.5.2 指示器面板类的准备 运行游戏,可以看到游戏窗口的左上方、左下方以及右下方位置分别显示了暂停图像、炸弹图像和小飞机的生命指示图像。如图所示。 11.5.3 使用精灵实现文本标签 上个小节运行的游戏窗口已经显示了暂停图像、炸弹图像和小飞机的生命指示图像。接下来我们实现文本标签的相关功能,包括: 使用自定义字体定义文本标签精灵。 创建指示器面板的文本标签精灵。 11.5.3 使用精灵实现文本标签 1.使用自定义字体定义文本标签精灵 pygame的font模块提供了SysFont类,使用SysFont类可以创建系统字体对象,实现在游戏窗口中绘制文字内容。但系统字体存在以下几点限制: 不够美观。一般操作系统默认提供的字体大多比较规整,直接应用到游戏中,呈现的效果比较呆板。 不支持跨平台。不同操作系统使用的系统

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档