问题代码:if event.key == pygame.K_RIGHT:
elif event.key == pygame.K_LEFT:
import sys
import pygame
pygame.KEYDOWN=1026
def check_events(spaceship):
for event in pygame.event.get():
# print(pygame.K_RIGHT,pygame.K_LEFT,event.type,pygame.KEYDOWN)
if event.type==pygame.QUIT:
sys.exit()
elif event.type==pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
spaceship.rect.centerx+=100
elif event.key == pygame.K_LEFT:
spaceship.rect.centerx-=100
def update_screen(ai_sett,screen,spaceship):
screen.fill(ai_sett.bg_color)
spaceship.blitme()
import pygame
import sett
import ship
import game_func as gf
def run_game():
pygame.init()
ai_sett=sett.Settings()
screen=pygame.display.set_mode((ai_sett.screen_width,ai_sett.screen_height))
spaceship=ship.Ship(screen)
pygame.display.set_caption("Alien invasion")
while True:
gf.check_events(spaceship)
gf.update_screen(ai_sett,screen,spaceship)
pygame.display.flip()
run_game()
import pygame
class Ship():
def __init__(self,screen):
self.screen=screen
self.image=pygame.image.load("spaceship.bmp")
self.rect=self.image.get_rect()
self.screen_rect=screen.get_rect()
self.rect.centery=self.screen_rect.centery
self.rect.centerx=self.screen_rect.centerx
self.rect.bottom=self.screen_rect.bottom
def blitme(self):
self.screen.blit(self.image,self.rect)
class Settings():
def __init__(self):
self.screen_width=1400
self.screen_height=800
self.bg_color=(148,214,246)
报错 'Event' object has no attribute 'key'
本人的疑惑:1.type,keydown,k_right等值是怎么赋值的,在我为给keydown赋值之前点一下鼠标后返回的type值是不等于keydown的
2.本人认为event.key()应该是函数库里的变量来捕捉鼠标操作的,就是鼠标一点它就会返回一个值,但为何实际上我一点鼠标它就报错