Python 如何使用键和鼠标一起移动角色?

Python 如何使用键和鼠标一起移动角色?,python,python-3.x,pygame,atan2,Python,Python 3.x,Pygame,Atan2,我正试图移动一个角色,这样当我移动它时,它们就会面对鼠标;我理解这个概念,但完全不知道如何编写代码。目前,我了解如何单独旋转角色以及如何单独移动角色。我是否可以将两者合并,以便可以使用键和鼠标移动和旋转角色 以下是我定义的变量: xPlayer = 25 yPlayer = 25 dxPlayer = 0 dyPlayer = 0 playerPosition = (25,25) 这是允许图像沿鼠标方向旋转的部分: go = True while go: position = pyga

我正试图移动一个角色,这样当我移动它时,它们就会面对鼠标;我理解这个概念,但完全不知道如何编写代码。目前,我了解如何单独旋转角色以及如何单独移动角色。我是否可以将两者合并,以便可以使用键和鼠标移动和旋转角色

以下是我定义的变量:

xPlayer = 25
yPlayer = 25
dxPlayer = 0
dyPlayer = 0
playerPosition = (25,25)
这是允许图像沿鼠标方向旋转的部分:

go = True
while go:
    position = pygame.mouse.get_pos()


    screen.blit(nightBackground, (0,0))

    mousePosition = pygame.mouse.get_pos()

    angle = math.atan2(mousePosition[1]-(playerPosition[1]+32),mousePosition[0]-(playerPosition[0]+26))

    playerRotate = pygame.transform.rotate(peterPlayer, 360-angle*57.29)

    playerpos1 = (playerPosition[0]-playerRotate.get_rect().width/2, playerPosition[1]-playerRotate.get_rect().height/2)

    screen.blit(playerRotate, playerpos1)

    pygame.display.update()
这是用按键控制我的角色的部分:

elif event.type == pygame.KEYDOWN:
        if event.key == pygame.K_LEFT:
            dxPlayer = -15
        elif event.key == pygame.K_RIGHT:
            dxPlayer = 15
        elif event.key == pygame.K_UP:
            dyPlayer = -15
        elif event.key == pygame.K_DOWN:
            dyPlayer = 15

    if event.type == pygame.KEYUP:
        if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
            dxPlayer = 0
        elif event.key == pygame.K_UP or event.key == pygame.K_DOWN:
            dyPlayer = 0

xPlayer = xPlayer + dxPlayer
yPlayer = yPlayer + dyPlayer
pygame.display.update()

非常感谢您的帮助

当您发布代码的小块时,很难知道问题出在哪里。创建一个新的解决方案,我们将更好地了解您的问题。如果你们都知道如何移动和旋转精灵,那么两者都做应该不会有任何问题。您应该能够移动它,旋转它,然后更新屏幕(按该顺序)。您提供的代码没有真正显示
xPlayer
yPlayer
的用途,因此可能是出现问题的原因。请查看。