Я новичок в программировании, я хочу переместить изображение(танка) в pygame, но ошибка говорит: "объект" событие "не имеет атрибута "ключ", не мог бы кто-нибудь мне помочь?
#this is entity: from pygame import * import pygame class Entity: type = 0 def draw(self,win,Tank): win.blit(Tank,(29, 358)) def MoveUpdate(self,win,Tank): for event in pygame.event.get(): if event.type == KEYDOWN and event.key == K_w: v.y = v.y + 5 elif event.type == KEYDOWN and event.key == K_s: v.y = v.y - 5 elif event.key == pygame.K_a: Tank = pygame.transform.rotate(win,-45) elif event.key == pygame.K_d: Tank = pygame.transform.rotate(win,45) #this is Window: import sys import pygame import Entity running = True class Window: def __init__(self,text): # setup/open a window pygame.init() infoObject = pygame.display.Info() self.DISPLAYSURF = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) pygame.display.set_caption(text) BackGround = pygame.image.load("grass20.png") BackGround = pygame.transform.scale(BackGround, (infoObject.current_w,infoObject.current_h) ) self.DISPLAYSURF.blit(BackGround,(0, 0)) self.Tank = pygame.image.load("Tank.png") self.Tank = pygame.transform.scale(self.Tank,(50,50)) def update(self): #check for events # quit pygame (close the window) for event in pygame.event.get(): if event.key == pygame.K_q: global running running = False pygame.quit() sys.exit() #this is Vector: class Vector: def __init__(self,x,y): self.x = x self.y = y #This is main: import pygame from Vector import * from Window import * from Entity import * running = True # store positions, anything that has x and y Ent = Entity() win = Window("TankGame") while running: Ent.draw(win.DISPLAYSURF,win.Tank) Ent.MoveUpdate(win.DISPLAYSURF,win.Tank) win.update() pygame.display.flip()
Что я уже пробовал:
Я попробовал поставить скобки,превратив else if в elif.
Richard MacCutchan
Какая строка выдает ошибку?
Richard MacCutchan
Проблема скорее всего в том что вы проверяете event.key
для событий, которые не могут быть нажатиями клавиш. Регистрация event.type
первый.
CPallini
Мой виртуальный 5.