最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年04月07日 08:39:22   作者:money_wife  
這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)鍵盤的連續(xù)監(jiān)控,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

方法一:設(shè)置中間變量

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("左")

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

方法二:運(yùn)用pygame中g(shù)et_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半段語句后面是中括號(hào)并非是小括號(hào),第二個(gè)要注意的地方便是鍵盤名稱,如果直接輸入K_UP等是會(huì)報(bào)錯(cuò)的,有兩種解決辦法一種是導(dǎo)入pygame的方法:

from pygame import *

這樣就不會(huì)報(bào)錯(cuò)了,另一種是在K_UP 前面加上pygame如:

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

這樣也是可行的。

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

相關(guān)文章

最新評論

崇义县| 云阳县| 新和县| 昌都县| 新泰市| 瑞安市| 新田县| 祁阳县| 平阳县| 开化县| 池州市| 灵武市| 通海县| 尼木县| 抚宁县| 广东省| 钟山县| 福泉市| 黎川县| 墨玉县| 柳州市| 卓资县| 曲靖市| 临桂县| 霍州市| 宁强县| 交口县| 常德市| 长顺县| 元江| 泰宁县| 双鸭山市| 司法| 丽江市| 灵宝市| 天台县| 满洲里市| 新安县| 吴川市| 桃园县| 云龙县|