Der folgende Code wird festgelegt, wenn der Avatar auf den Bildschirm geblendet wird und die Leertaste oder Aufwärts-Taste angetippt wird, bewegt er sich einmal, aber wenn er gedrückt wird, wird er nicht ständig nach oben bewegt (in der Luft). Ich muss meinen Code ändern, wenn die Taste gedrückt gehalten wird, ist die Bewegung konstant.Wie kann ich zu einer konstanten Bewegung wechseln, wenn ich eine Taste in Pygame drücke?
import pygame, sys, time, random
from pygame.locals import *
class Player(Duck):
"""The player controlled Duck"""
def __init__(self, x, y, width, height):
super(Player, self).__init__(x, y, width, height)
# How many pixels the Player duck should move on a given frame.
self.y_change = 0
# How many pixels the spaceship should move each frame a key is pressed.
self.y_dist = 50
def MoveKeyDown(self, key):
"""Responds to a key-down event and moves accordingly"""
if (key == pygame.K_UP or key == K_SPACE):
self.rect.y -= self.y_dist
def MoveKeyUp(self, key):
"""Responds to a key-up event and stops movement accordingly"""
if (key == pygame.K_UP or key == K_SPACE):
self.rect.y -= self.y_dist
def update(self):
"""
Moves the Spaceship while ensuring it stays in bounds
"""
# Moves it relative to its current location.
self.rect.move_ip(self.y_change, 0)
# If the Spaceship moves off the screen, put it back on.
if self.rect.y <= 0:
self.rect.y = 0
elif self.rect.y > window_width:
self.rect.y = window_width
while True: # the main game loop
for event in pygame.event.get(): #Closes game
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYUP:
player.MoveKeyUp(event.key)
elif event.type == pygame.KEYDOWN:
player.MoveKeyDown(event.key)
obwohl es als Off-Topic geschlossen wurde, die Antworten der Unterstützung sein sollte: http://stackoverflow.com/questions/43154793/in-pygame-why-can-i-not-move-my- Sprite-graduell-während-Schaltfläche-ist-gehalten-down/43161906 # 43161906 – The4thIceman
Bitte geben Sie ein [vollständiges aber minimales Beispiel] (http://stackoverflow.com/help/mcve). Wir wollen Beispiele, die wir ohne Anpassungen ausführen können. – skrx