子弹没有出现在pygame中

问题描述

我曾尝试使用本教程 https://youtu.be/8wEYDLVrAB8 在 pygame 中制作子弹,但我没有这样做,这里是注释代码, .如果出现问题,请发表评论。谢谢你的帮助。我已经在这个网站上问过一次,但它没有用 [![这是发射子弹时的当前状态][1]][1]。我在 pycharm 中运行它

bool launchedFromDeepLink = getArguments() != null &&
    getArguments().containsKey(NavController.KEY_DEEP_LINK_INTENT)

解决方法

这是Indentation的问题。您必须在事件循环而不是应用程序循环中处理事件:

while running == True:
    #stuff happening in game loop
    screen.fill((200,200,0))
    screen.blit(bacground,(0,0))
    player(playerX,playerY)
    enemy(enemyX,enemyY)

    if bullet_state == "fire":
        fire_bullet(playerX,bulletY)
        bulletY -= bulletY_change
    
    #detection of the keys pressed and consequences
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()

    # INDENTATAION
    #-->|
        
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                playerX_change = -5
            if event.key == pygame.K_RIGHT:
                playerX_change = 5
            if event.key == pygame.K_SPACE:
                fire_bullet(bulletX,bulletY)
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
                playerX_change = 0