主è¦ççåå³ç§»å¨çå°æ¹ç代ç æ没æé®é¢ï¼
# 设置åå³ç§»å¨flag
self.move_right = False
def listening_key_down(self, event):
"""
çå¬key_downäºä»¶
:param event:
"""
if event.key == pygame.K_RIGHT:
self.air_ship.move_right = True
elif event.key == pygame.K_LEFT:
self.air_ship.move_left = True
def listening_key_up(self, event):
"""
çå¬key_upäºä»¶
:param event:
"""
if event.key == pygame.K_RIGHT:
self.air_ship.move_right = False
elif event.key == pygame.K_LEFT:
self.air_ship.move_left = False
def move(self):
"""
æ´æ°é£è¹æ¨ªè½´ä½ç½®ï¼å®ç°å·¦å³ç§»å¨
"""
if self.move_right and self.air_ship_rect.right <= self.screen_rect.right:
self.center += self.speed_factor if self.move_left and self.air_ship_rect.left >= self.screen_rect.left:
self.center -= self.speed_factor
self.air_ship_rect.centerx = self.center
def listening_game_event(self):
"""
çå¬äºä»¶
"""
for event in pygame.event.get(): if event.type == pygame.QUIT:
pygame.quit()
sys.exit() elif event.type == pygame.KEYDOWN:
self.listening_key_down(event) elif event.type == pygame.KEYUP:
self.listening_key_up(event)
# 游æ主循ç¯
while True: self.listening_game_event() self.air_ship.move() self.update_game_screen()