婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > pygame實現(xiàn)鍵盤的連續(xù)監(jiān)控

pygame實現(xiàn)鍵盤的連續(xù)監(jiān)控

熱門標簽:電話機器人貸款詐騙 看懂地圖標注方法 淮安呼叫中心外呼系統(tǒng)如何 電話外呼系統(tǒng)招商代理 京華圖書館地圖標注 廣東旅游地圖標注 打印谷歌地圖標注 佛山通用400電話申請 蘇州人工外呼系統(tǒng)軟件

pygame對鍵盤的連續(xù)監(jiān)聽,供大家參考,具體內(nèi)容如下

大家請看下面這一段代碼:

for event in pygame.event.get():
  if event.type == pygame.QUIT:
   exit()
  elif event.type == pygame.KEYDOWN:
   if event.key == pygame.K_RIGHT:
    print("右")
   if event.key == pygame.K_UP:
    print("上")
   if event.key == pygame.K_DOWN:
    print("下")
   if event.key == pygame.K_LEFT:
    print("左")

大家首次監(jiān)控鍵盤事件一般都會寫出這樣的代碼我們著重來看一下對鍵盤上下左右鍵的監(jiān)控。我們運行代碼塊我們會發(fā)現(xiàn)這幾行代碼和我們的想法是不一樣的,我們在開發(fā)游戲的時候,我們大部分時候希望是可以連續(xù)控制,這樣可以大大減少我們的手部疲勞,對玩家們也會非常的友好,但是我們現(xiàn)在的代碼塊,是敲一下鍵盤響應一次事件。所以我們要對代碼進行改進,改進的方法有以下兩種,大家可以根據(jù)自己的理解進行選擇。

方法一:設置中間變量

moving_r = False
moving_l = False
moving_u = False
moving_d = False
while True:
 for event in pygame.event.get():
  if event.type == pygame.QUIT:
   exit()
  elif event.type == pygame.KEYDOWN:
   if event.key == pygame.K_RIGHT:
    moving_r = True
   if event.key == pygame.K_UP:
    moving_u = True
   if event.key == pygame.K_DOWN:
    moving_d = True
   if event.key == pygame.K_LEFT:
    moving_l = True
  elif event.type == pygame.KEYUP:
   if event.key == pygame.K_RIGHT:
    moving_r = False
   if event.key == pygame.K_UP:
    moving_u = False
   if event.key == pygame.K_DOWN:
    moving_d = False
   if event.key == pygame.K_LEFT:
    moving_l = False
 if moving_r:
  print("右")
 elif moving_u:
  print("上")
 elif moving_d:
  print("下")
 elif moving_l:
  print("左")

引入四個moving變量將四個變量的初值均設為Flase,用pygame的KEYDOWN和KEYUP方法來改變四個變量的值,以此來實現(xiàn)對鍵盤的連續(xù)監(jiān)控,這種方法雖然很好理解,但是如果是小白對代碼的重構不是很熟悉會顯得非常綴余。

方法二:運用pygame中get_pressed()

# 鍵盤的連續(xù)監(jiān)聽
 Key_pressed = pygame.key.get_pressed()
 if Key_pressed[K_UP]:
  print("上")
 if Key_pressed[K_DOWN]:
  print("下")
 if Key_pressed[K_LEFT]:
  print("左")
 if Key_pressed[K_RIGHT]:
  print("右")

這樣也是能連續(xù)監(jiān)聽鍵盤事件,但是這里需要注意一下if半段語句后面是中括號并非是小括號,第二個要注意的地方便是鍵盤名稱,如果直接輸入K_UP等是會報錯的,有兩種解決辦法一種是導入pygame的方法:

from pygame import *

這樣就不會報錯了,另一種是在K_UP 前面加上pygame如:

if Key_pressed[pygame.K_UP]:
  print("上")

這樣也是可行的。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • pygame可視化幸運大轉(zhuǎn)盤實現(xiàn)
  • pygame多種方式實現(xiàn)屏保操作(自動切換、鼠標切換、鍵盤切換)
  • 利用pygame完成動畫精靈和碰撞檢測
  • 詳解pygame捕獲鍵盤事件的兩種方式
  • python使用pygame創(chuàng)建精靈Sprite
  • pygame面向?qū)ο蟮娘w行小鳥實現(xiàn)(Flappy bird)
  • pygame實現(xiàn)鍵盤和鼠標事件的處理
  • Pygame做一期吃豆子游戲的示例代碼
  • Python Pygame實現(xiàn)俄羅斯方塊
  • 五分鐘學會怎么用Pygame做一個簡單的貪吃蛇
  • Python使用Pygame繪制時鐘
  • pygame實現(xiàn)井字棋之第一步繪制九宮格

標簽:股票 衡水 駐馬店 中山 畢節(jié) 湖州 江蘇 呼和浩特

巨人網(wǎng)絡通訊聲明:本文標題《pygame實現(xiàn)鍵盤的連續(xù)監(jiān)控》,本文關鍵詞  pygame,實現(xiàn),鍵盤,的,連續(xù),;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pygame實現(xiàn)鍵盤的連續(xù)監(jiān)控》相關的同類信息!
  • 本頁收集關于pygame實現(xiàn)鍵盤的連續(xù)監(jiān)控的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 山西省| 靖州| 北票市| 富宁县| 彰化县| 靖安县| 赤水市| 内黄县| 克拉玛依市| 临江市| 岱山县| 营山县| 巴南区| 宿松县| 拜泉县| 庐江县| 长武县| 随州市| 古浪县| 宿州市| 新巴尔虎左旗| 婺源县| 镶黄旗| 云阳县| 泌阳县| 南昌市| 安陆市| 铜川市| 资中县| 全州县| 嘉兴市| 阿拉善右旗| 保德县| 阳西县| 金湖县| 开阳县| 临夏县| 萝北县| 汾西县| 江永县| 裕民县|