'''1.坦克类(我方坦克,敌方坦克) 射击 移动类 显示坦克的方法2.子弹类 移动 显示子弹的方法3.音效类 播放音乐4.爆炸类 展示爆炸效果5.墙壁类 属性:是否可以通过6.主类 开始游戏 结束游戏'''import pygameSCREEN_WIDTH=700SCREEN_HEIGHT=500BG_COLOR=pygame.Color(0,0,0)FONT_COLOR=pygame.Color(255,0,0)class MainGame(): window=None my_tank=None def __init__(self): pass def startGame(self): #初始化窗口 pygame.display.init() #设置窗口的大小及显示 MainGame.window=pygame.display.set_mode([SCREEN_WIDTH,SCREEN_HEIGHT]) #设置窗口的标题 pygame.display.set_caption("坦克大战1.03") #初始化我方坦克 MainGame.my_tank=Tank(350,250) while True: #窗口填充色 MainGame.window.fill(BG_COLOR) #获取事件 self.getEvent() #绘制文字 MainGame.window.blit(self.getTextSuface('敌方坦克剩余数量%d'%6),(10,10)) #调用坦克显示的方法 MainGame.my_tank.displayTank() pygame.display.update() def getTextSuface(self,text): #初始化字体模块 pygame.font.init() #获取字体font对象 font=pygame.font.SysFont('kaiti',18) #绘制文字信息 textSurface=font.render(text,True,FONT_COLOR) return textSurface def endGame(self): print("谢谢使用,欢迎下次再次使用") exit() def getEvent(self): #获取所有事件 eventList=pygame.event.get() #遍历事件 for event in eventList: #判断按下的键是关闭还是键盘按下 #如果按下的是退出,关闭窗口 if event.type==pygame.QUIT: self.endGame() if event.type==pygame.KEYDOWN: #判断按下的键是上下左右 if event.key==pygame.K_LEFT: MainGame.my_tank.direction="L" MainGame.my_tank.move() print("按下左键,坦克向左移动") elif event.key==pygame.K_RIGHT: MainGame.my_tank.direction = "R" MainGame.my_tank.move() print('按下右键,坦克向右移动') elif event.key==pygame.K_UP: MainGame.my_tank.direction = "U" MainGame.my_tank.move() print('按下上键,坦克向上移动') elif event.key==pygame.K_DOWN: MainGame.my_tank.direction = "D" MainGame.my_tank.move() print('按下下键,坦克向下移动')class Tank(): #添加距离位置 def __init__(self,left,top): #保存加载图片 self.images={ 'U':pygame.image.load('b/p1tankU.gif'), 'D': pygame.image.load('b/p1tankD.gif'), 'L': pygame.image.load('b/p1tankL.gif'), 'R': pygame.image.load('b/p1tankR.gif'), } #方向 self.direction="U" #根据当前图片的方向获取图片 self.image = self.images[self.direction] #根据图片获得区域 self.rect=self.image.get_rect() #设置矩形区域的left和top self.rect.left=left self.rect.top=top self.speed=10 def move(self): #判断坦克方向进行移动 if self.direction=="L": self.rect.left -= self.speed elif self.direction=="U": self.rect.top -= self.speed elif self.direction=="R": self.rect.left += self.speed elif self.direction=="D": self.rect.top += self.speed def shot(self): pass def displayTank(self): #获取展示的对象 self.image = self.images[self.direction] #调用blit方法展示 MainGame.window.blit(self.image,self.rect)class MyTank(Tank): def __init__(self): passclass EnmeyTank(Tank): def __init__(self): pass#子弹类class Bullet(): def __init__(self): pass def move(self): pass def displayBullet(self): passclass wall(): def __init__(self): pass def diaplaywall(self): pass#爆炸类class Explode(): def __init__(self): pass def displayExplode(self): passclass Music(): def __init__(self): pass def play(self): passif __name__=='__main__': MainGame().startGame()老师怎么能按住方向键让坦克一直移动呀?