
1 ''' 2 Created on 2018-4-18 3 4 5 6 @author: 墨 莘 7 ''' 8 """ 9 1--在游戏循环中监听事件 10 "事件" 11 pygame.event.get() 12 ---可以获得用户当前所做动作的事件列表 13 14 15 """ 16 17 """ 18 19 代码实现: 20 游戏循环: 21 22 23 """ 24 #1--导入模块 25 import pygame 26 from pygame.locals import* 27 28 #2--初始化 29 pygame.init() 30 31 size=(600,400) 32 x,y=size[0]/2,size[1]/2 33 #3--设置窗口 34 screen=pygame.display.set_mode(size)#以元组的方式传入屏幕的宽高 35 #设置这个题目 36 pygame.display.set_caption("一颗小小的心") 37 38 39 #4---设置→→↗对刷新屏幕内容显示,稍后使用 40 41 #5--实现图像绘制 42 #---能够看到的游戏"元素” 图像 ,图像文件 43 #1--使用图像有三个步骤: 44 img=pygame.image.load("../imgs/py_bg_2.jpg").convert() 45 #2--调用blit()方法将图像绘制到指定位置 46 #绘制第二张图片 47 hero=pygame.image.load("../imgs/me2.png").convert() 48 clock=pygame.time.Clock() 49 left=False 50 right=False 51 up=False 52 down=False 53 54 55 #对游戏进行无限循环 56 while True: 57 for event in pygame.event.get(): 58 #当设置QUIT时 应该导入 from pygame.locals import* 59 if event.type==QUIT: 60 exit() 61 # if event.type==MOUSEBUTTONDOWN:#鼠标事件 62 # pass 63 if event.type==KEYDOWN: #对键值的设置----》 64 if event.key==K_LEFT: 65 left=True 66 if event.key==K_RIGHT: 67 right=True 68 if event.key==K_UP: 69 up=True 70 if event.key==K_DOWN: 71 down=True 72 if event.type==KEYUP: 73 if event.key==K_LEFT: 74 left=False 75 if event.key==K_RIGHT: 76 right=False 77 if event.key==K_UP: 78 up=False 79 if event.key==K_DOWN: 80 down=False 81 if left: #如果把left写成K_LEFT 就会自动左移 82 x-=1 83 if right: 84 x+=1 85 if up: 86 y-=1 87 if down: 88 y+=1 89 90 if x<=0: 91 x=570 92 if x>570: 93 x=10 94 if y<0: 95 y=370 96 if y>=400: 97 y=0 98 99 screen.blit(img,(0,0)) 100 screen.blit(hero,(x,y)) 101 clock.tick(20) 102 pygame.display.update()#更新整个屏幕显示 103 104 105 #游戏循环 106 107 #设置屏幕刷新帧率 108 109 #对 110