首页 > 解决方案 > 为什么按空格键时屏幕上没有项目符号

问题描述

我用宇宙飞船创建了一个简单的游戏,当你按下太空棒时它会发射子弹。但是当我按下它时,屏幕上似乎什么也没有出现。

如果您在项目符号上打印数字,它们会显示为数字,但它们在屏幕上是不可见的

我又试了一遍书中的代码,但没有发现任何错误。

我该怎么做才能使子弹可见?

这是代码:https ://github.com/chip00/Game

没有错误信息,只是没有出现项目符号

提前感谢您的帮助!!

标签: python

解决方案


您在 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:绘制子弹 -> 填充屏幕 -> 绘制船 -> 更新屏幕
  • ...

推荐阅读