Le déplacement d'un objet à gauche et à droite

J'ai un problème avec Python et pygame: je n'ai aucune idée de comment faire une simple pagaie se déplacer à gauche et à droite. Fondamentalement, je suis en train de travailler sur un pong type du jeu pour mon premier projet.

Après la lecture de quelques articles en ligne, j'ai pensé à la façon de comment faire cela. Le code que j'ai pour l'instant est:

PADDLE_WIDTH = 50
PADDLE_HEIGHT = 10
paddleSpeedX = 0
p1Paddle = pygame.Rect(10, 430, PADDLE_WIDTH, PADDLE_HEIGHT)
PADDLE_COLOR = pygame.color.Color("red")

while True:
    for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.key == K_LEFT:
                p1Paddle.right = p1Paddle.left + paddleSpeedX - 10
            if event.key == K_RIGHT:
                p1Paddle.left = p1Paddle.left + paddleSpeedX + 10
            if event.type == QUIT:
                pygame.quit()
                sys.exit()
                pygame.display.update()

    pygame.display.update()

Après avoir entré ce code, le jeu fonctionne mais je ne peux toujours pas déplacer la raquette de gauche et de droite.
Comment puis-je faire cela?

  • Votre if event.type == QUIT partie semble être aligné mal. Ne devrait-elle pas être au même niveau que if event.type == KEYDOWN?
  • J'ai posté un travail plein de code qui permet de résoudre votre question. Voir ma réponse.
  • Pour pygame vous pouvez obtenir de l'entrée dans les deux méthodes de [1] les événements clés, ou [2] clé d'interrogation - Vous êtes à l'aide de la première (cas) de la méthode. Pour cela, vous voulez la 2ème méthode. Voir stackoverflow.com/a/11365418/341744 pour le code. -- Si c'était un FPS, vous voulez interrogation WASD pour le mouvement, et les événements mousedown.
InformationsquelleAutor dan | 2012-07-06