python - 为什么按空格键时屏幕上没有项目符号
问题描述
我用宇宙飞船创建了一个简单的游戏,当你按下太空棒时它会发射子弹。但是当我按下它时,屏幕上似乎什么也没有出现。
如果您在项目符号上打印数字,它们会显示为数字,但它们在屏幕上是不可见的
我又试了一遍书中的代码,但没有发现任何错误。
我该怎么做才能使子弹可见?
这是代码:https ://github.com/chip00/Game
没有错误信息,只是没有出现项目符号
提前感谢您的帮助!!
解决方案
您在 game_functions.py 中更新屏幕的脚本应该如下所示:
def update_screen(ai_settings , screen, ship, bullets):
screen.fill(ai_settings.bg_color)
ship.blitme()
for bullet in bullets.sprites():
bullet.draw_bullet()
pygame.display.flip()
在添加项目符号之前更新了显示。应该在所有绘图发生后更新屏幕。在原始代码中缺少项目符号,因为它会按以下顺序绘制:
- FRAME 1:填充屏幕 -> 绘制船 -> 更新屏幕
- FRAME 2:绘制子弹 -> 填充屏幕 -> 绘制船 -> 更新屏幕
- ...
推荐阅读
- javascript - 根据对象 ID 在 mongoose 中创建新表
- r - R:[Indicspecies 包] multipatt 函数:从 summary.multipatt 中提取值
- laravel - 状态消息未显示在我的视图中
- reactjs - 在 Web 应用程序中调用 API 之前清理数据
- python - 如何打包一个带有命令行参数并且还具有依赖项的 python 脚本?
- mysql - mysql 从 linux 终端转储到每个表的单独文件中
- excel - 为什么我的数组公式没有提取所有索引值?
- sql - 在不同行上具有多重连接的 SQL 输出
- html - 剃刀,两种形式,相同的领域
- python - 使用 Python 和 gmail API,我如何发送带有多个附件的消息?