(pygame)Ich brauche hilfe beim sprite rotieren!
Verfasst: Samstag 16. November 2019, 21:39
Wenn ich einen Knopf (w,a,s,d) drücke soll sich dass Auto drehen und in die Richtung "Fahren". Doch wenn ich jetzt mit dem Code "Fahren" will dreht es sich immer 90grad in eine richtung auch wenn ich zwei mal z.b. W drücke.
Code: Alles auswählen
import pygame
pygame.init()
display_width = 1080
display_hight = 800
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
gameDisplay = pygame.display.set_mode((display_width, display_hight))
pygame.display.set_caption("racinggame")
clock = pygame.time.Clock()
carImg = pygame.image.load(r"C:\Users\PReFaCT\Desktop\car.png")
def car (x,y):
gameDisplay.blit(carImg, (x,y))
x = (display_width * 0.45)
y = (display_hight * 0.8)
x_change = 0
y_change = 0
crashed = False
#mainloop
while not crashed:
#events
for event in pygame.event.get():
if event.type == pygame.QUIT:
crashed = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
x_change = -5
if event.key == pygame.K_d:
x_change = 5
if event.key == pygame.K_w:
y_change = -5
if event.key == pygame.K_s:
y_change = 5
rotate = pygame.transform.rotate
if event.key == pygame.K_d:
carImg = rotate(carImg, 90)
elif event.key == pygame.K_a:
carImg = rotate(carImg, 90)
if event.key == pygame.K_w:
carImg = rotate(carImg, 90)
elif event.key == pygame.K_s:
carImg = rotate(carImg, 90)
if event.type == pygame.KEYUP:
if event.key == pygame.K_a or event.key == pygame.K_d or event.key == pygame.K_w or event.key == pygame.K_s :
x_change = 0
y_change = 0
x += x_change
y += y_change
gameDisplay.fill (white)
car(x,y)
pygame.display.update()
#FPS
clock.tick(144)
#pygame ende
pygame.quit()
quit()