事件处理
1 #coding:UTF-8 2 ''' 3 新增功能: 4 1. 点击关闭, 关闭窗口 5 2. 按下键盘的时候, 判断按下的是什么键, 分别对不同的键做处理 6 ''' 7 8 # 坦克大战项目框架 9 # 主类 10 import pygame 11 SCEEN_WIDTH = 700 12 SCEEN_HIGHT = 500 13 BG_COLOR = pygame.Color(0, 0, 0) 14 class MainGame(): 15 window = None 16 # 初始化 17 def __init__(self): 18 pass 19 # 开始游戏 20 def startGame(self): 21 # 加载主窗口 22 # 初始化主窗口 23 pygame.display.init() 24 # 设置窗口大小及显示 25 MainGame.window = pygame.display.set_mode([SCEEN_WIDTH, SCEEN_HIGHT]) 26 # 设置窗口的标题 27 pygame.display.set_caption('坦克大战 v1.0') 28 while True: 29 # 给窗口设置填充色 30 MainGame.window.fill(BG_COLOR) 31 # 获取事件 32 self.getEvent() 33 pygame.display.update() 34 35 # 结束游戏 36 def endGame(self): 37 print('游戏结束') 38 exit() 39 # 获取事件 40 def getEvent(self): 41 # 获取所有事件 42 eventList = pygame.event.get() 43 # 遍历事件 44 for event in eventList: 45 # 判断键盘输出的是退出还是按下 46 # 如果是退出, 关闭窗口 47 if event.type == pygame.QUIT: 48 self.endGame() 49 if event.type == pygame.KEYDOWN: 50 if event.key == pygame.K_LEFT: 51 print('左移') 52 if event.key == pygame.K_RIGHT: 53 print('右移') 54 if event.key == pygame.K_UP: 55 print('上移') 56 if event.key == pygame.K_DOWN: 57 print('下移') 58 # 坦克类 59 class Tank(): 60 # 初始化 61 def __init__(self): 62 pass 63 # 移动 64 def move(self): 65 pass 66 # 射击 67 def shot(self): 68 pass 69 # 显示坦克的方法 70 def disPlayTank(self): 71 pass 72 73 # 我方坦克 74 class MyTank(Tank): 75 # 初始化 76 def __init__(self): 77 pass 78 79 # 敌方坦克 80 class EnemyTank(Tank): 81 # 初始化 82 def __init__(self): 83 pass 84 85 # 子弹类 86 class Bullet(): 87 # 初始化 88 def __init__(self): 89 pass 90 # 移动 91 def move(self): 92 pass 93 # 展示子弹的方法 94 def disPlayBullet(self): 95 pass 96 97 # 墙壁 98 class Wall(): 99 def __init__(self): 100 pass 101 # 展示墙壁的方法 102 def disPlayWall(self): 103 pass 104 105 # 爆炸 106 class Explore(): 107 def __init__(self): 108 pass 109 # 展示爆炸效果的方法 110 def disPlayExplore(self): 111 pass 112 113 # 音效 114 class Music(): 115 def __init__(self): 116 pass 117 # 播放音乐 118 def playMusic(self): 119 pass 120 121 if __name__ == '__main__': 122 MainGame().startGame()