面向对象改写之前的飞机大战一部分
import pygame # pygame2d游戏 import time from pygame.locals import * class HeroPlane(object): def __init__(self,screen_temp): self.x=210 self.y=700 self.screen=screen_temp self.image= pygame.image.load("./feiji/hero1.png") def display(self): self.screen.blit(self.image, (self.x, self.y)) def move_left(self): self.x-=5 def move_right(self): self.x+=5 def key_control(herotemp): for event in pygame.event.get(): # 11 if event.type == QUIT: # 按下叉号 print("exit") exit() # 退出程序,循环结束是break elif event.type == KEYDOWN: # 按下键盘键 if event.key == K_a or event.key == K_LEFT: print("left") herotemp.move_left() elif event.key == K_d or event.key == K_RIGHT: print("right") herotemp.move_right() elif event.key == K_SPACE: print("space") def main(): # 01 screen = pygame.display.set_mode((480, 852), 0, 32) # 1窗口 background = pygame.image.load("./feiji/background.png") # 2背景 hero = HeroPlane(screen) while True: # 5死循环,一直重复 screen.blit(background, (0, 0)) # 3背景贴到窗口00处 hero.display() pygame.display.update() # 4显示贴的效果 key_control(hero) time.sleep(0.01) # 6电脑配置不高的话,内存占用会很大,所以延时显示可以减少内存消耗 if __name__ == '__main__': # 0 main()