
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