猿问

在 PyCharm 上,我的左键和右键没有响应

#enable pygame mode

import pygame

pygame.init()


#create screen

screen = pygame.display.set_mode((900,600))


#Title + Logo

pygame.display.set_caption("Space Invader")

icon = pygame.image.load("chicken.png")

pygame.display.set_icon(icon)


#Player icon

player_icon = pygame.image.load("spaceship.png")

playerX = 400

playerY = 500


def player(x, y):

    screen.blit(player_icon, (x, y))


#game loop

running = True

while running:


    # backround colour  RGB

    screen.fill((0, 0, 0))


    for event in pygame.event.get():

        if event.type == pygame.QUIT:

            running = False

            #If key pressed check wether its right or left

            if event.type == pygame.KEYDOWN:

                if event.key == pygame.K_LEFT:

                    print("key left pressed")

                if event.key == pygame.K_RIGHT:

                    print("key right pressed")

            if event.type == pygame.KEYUP:

                if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:

                    print("key stroke has benn released")



    #Player change in coordinates

    playerX += 0

    playerY += 0


    player(playerX, playerY)

    pygame.display.update()

在这次隔离期间,我一直在学习使用 python 进行 pygame 和游戏编程。我一直在通过观看 youtube 上的教程来做到这一点。请不要降级我上次这是我的第一个问题并获得了 2 次降级时,我已经更加努力地使我的问题变得更好。感谢您的时间。


德玛西亚99
浏览 121回答 1
1回答

喵喵时光机

这是缩进的问题。在您的代码中,pygame.KEYDOWN仅在&nbsp;event.type == pygame.QUIT.&nbsp;“移动”pygame.KEYDOWN事件处理:running = Truewhile running:&nbsp; &nbsp; # backround colour&nbsp; RGB&nbsp; &nbsp; screen.fill((0, 0, 0))&nbsp; &nbsp; for event in pygame.event.get():&nbsp; &nbsp; &nbsp; &nbsp; if event.type == pygame.QUIT:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; running = False&nbsp; &nbsp; &nbsp; &nbsp; # <--| INDENTATION&nbsp; &nbsp; &nbsp; &nbsp; #If key pressed check wether its right or left&nbsp; &nbsp; &nbsp; &nbsp; if event.type == pygame.KEYDOWN:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if event.key == pygame.K_LEFT:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print("key left pressed")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if event.key == pygame.K_RIGHT:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print("key right pressed")&nbsp; &nbsp; &nbsp; &nbsp; if event.type == pygame.KEYUP:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print("key stroke has benn released")
随时随地看视频慕课网APP

相关分类

Python
我要回答