我正在构建游戏" Alien Invasion"来自书籍#34; Python速成课程"。 (也许有人做过同样的事)。
此时我正试图让我的"播放"按钮工作,一切都显示,我没有得到任何错误,但当我点击按钮没有任何反应,游戏没有运行,因为game_active仍然是假的。
- 主要电话 -
gf.check_events(ai_settings, screen, stats, play_button, ship, bullets)
- 检查事件功能 -
def check_events(ai_settings, screen, stats, play_button, ship, bullets):
"""Respond to keypresses and mouse events."""
for event in pygame.event.get():
*snipped because not relevant*
elif event.type == pygame.MOUSEBUTTONDOWN:
mouse_x, mouse_y = pygame.mouse.get_pos()
check_play_button(stats, play_button, mouse_x, mouse_y)
- Check_play_button功能 -
def check_play_button(stats, play_button, mouse_x, mouse_y):
"""Start a new game when the player presses play"""
if play_button.rect.collidepoint(mouse_x, mouse_y):
stats.game_active == True
我认为一切都是正确输入的,如果不是,那我就会收到错误。这是负责click事件的代码。
如果我没有提供某些东西让我知道。
答案 0 :(得分:1)
在check_play_button()
的最后一行,你有一个条件测试。将==
替换为=
,看看是否有效。
现在代码正在检查stats.game_active
是否为True;您希望它将stats.game_active
设置为True。