Pygame鍵盤輸入和滑鼠操作
阿新 • • 發佈:2018-10-31
''' ================Pygame模擬鍵盤輸入和滑鼠操作---------------------------------------- 姓名 : 昔年 時間 : 2018/10/9 ''' import sys ##初始化 pygame.init() ##變數存放處 size = width,height = 600,400 bgColor = (0,0,0) ##設定介面寬高 screen = pygame.display.set_mode(size) ##設定標題 pygame.display.set_caption("Pygame事件") ~~# event_texts = []~~ ##要在Pygame中使用文字,必須建立Font物件 ##第一個引數指定字型 ,第二個引數指定字型大小 font =pygame.font.Font(None,20) ##呼叫get_linesize()方法獲得每行文字的高度 line_height = font.get_linesize() position = 0 screen.fill(bgColor) ##建立一個存放的文字TXT f = open("record.txt",'w') while True: for event in pygame.event.get(): f.write(str(event) + '\n') if event.type == pygame.QUIT: # 關閉檔案 f.close() sys.exit() # render()將文字渲染成Surface物件 # 第一個引數是帶渲染的文字 # 第二個引數指定是否消除鋸齒 # 第三個引數指定文字的顏色 screen.blit(font.render(str(event) , True , (0,255,0)) , (0,position)) position += line_height if position >= height: position = 0 screen.fill(bgColor) pygame.display.flip()
一些常用鍵盤輸入操作 :
send_keys(Keys.LEFT) 左
send_keys(Keys.RIGHT) 右
send_keys(Keys.UP) 上
send_keys(Keys.DOWN) 下
send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace)
send_keys(Keys.SPACE) 空格鍵(Space)
send_keys(Keys.TAB) 製表鍵(Tab)
send_keys(Keys.ESCAPE) 回退鍵(Esc)
send_keys(Keys.ENTER) 回車鍵(Enter)
send_keys(Keys.CONTROL,’a’) 全選(Ctrl+A)
send_keys(Keys.CONTROL,’c’) 複製(Ctrl+C)
send_keys(Keys.CONTROL,’x’) 剪下(Ctrl+X)
send_keys(Keys.CONTROL,’v’) 貼上(Ctrl+V)
列舉 :鍵盤輸入的使用
''' ================初學Pygame------------------------------------------------- 姓名 : 昔年 時間 : 2018/10/9 ''' import pygame import sys ##退出時要用 from pygame.locals import * # pygame 的所有常亮名匯入進來 ##初始化Pygame , 待命隨時呼叫 pygame.init() ##變數存放區 size = width,height = 600,400 #是一個數組 speed = [0,0] bgColor = (255,255,255) fullscreen = False ##創建制定大小視窗 返回一個 Surface screen = pygame.display.set_mode(size) ##設定視窗標題 pygame.display.set_caption("初次見面 , 請多多關照 !") ##載入圖片 turtle = pygame.image.load("Hello.jpg(要開啟的圖片名)") ##獲取圖片的位置 position = turtle.get_rect() l_head = turtle r_head = pygame.transform.flip(turtle,True,False) ##獲取當前電腦支援的解析度 a = pygame.display.list_modes() F11size = width,height = a[0][0],a[0][1] while True: for event in pygame.event.get(): if event.type == QUIT: sys.exit() if event.type == KEYDOWN: if event.key == K_LEFT: speed = [-1,0] turtle = l_head if event.key == K_RIGHT: speed = [1,0] turtle = r_head if event.key == K_UP: speed = [0,-1] if event.key == K_DOWN: speed = [0,1] # 全屏設定 if event.key == K_F11: fullscreen = not fullscreen if fullscreen: screen = pygame.display.set_mode(F11size, FULLSCREEN | HWSURFACE) else: screen = pygame.display.set_mode(size) if event.key == K_ESCAPE: fullscreen = False screen = pygame.display.set_mode(size) #移動影象 position = position.move(speed) if position.left < 0 or position.right > width: # 翻轉圖片 第一個引數:圖片 第二個引數:左右反轉 第三個引數:上下反轉 turtle = pygame.transform.flip(turtle,True,False) # 翻轉方向 speed[0] = -speed[0] if position.top < 0 or position.bottom > height: speed[1] = -speed[1] # 填充背景 screen.fill(bgColor) # 更新影象 screen.blit(turtle,position) # 更新介面 pygame.display.flip() # 延遲10毫秒 pygame.time.delay(10)