国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

極客小將

您現(xiàn)在的位置是:首頁(yè) » python編程資訊

資訊內(nèi)容

用python和pygame游戲編程入門-鍵盤設(shè)備

極客小將2020-10-28-
今天我們?cè)俳榻B一個(gè)方法,pygame.key.get_pressed()來(lái)獲得所有按下的鍵值,它會(huì)返回一個(gè)元組。這個(gè)元組的索引就是鍵值

前面的知識(shí)和案例中我們也用了一下鍵盤,那時(shí)候是用了pygame.event.get()獲取所有的事件,當(dāng)event.type == KEYDOWN的時(shí)候,再判斷event.key的種類。今天我們?cè)俳榻B一個(gè)方法,pygame.key.get_pressed()來(lái)獲得所有按下的鍵值,它會(huì)返回一個(gè)元組。這個(gè)元組的索引就是鍵值,對(duì)應(yīng)的就是是否按下,比如說(shuō):

當(dāng)我們按下右鍵時(shí),得到的 get_pressed 元組列表如下(注意有一個(gè)1):

(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

pygame.K_RIGHT 是一個(gè)常量, 值是275.

key_pressed[pygame.K_RIGHT] 實(shí)質(zhì)上就是key_pressed[275]==1代表右鍵被按下

當(dāng)然key模塊下還有很多函數(shù):

key.get_focused —— 返回當(dāng)前的pygame窗口是否激活

key.get_pressed —— 剛剛解釋過(guò)了

key.get_mods —— 按下的組合鍵(Alt, Ctrl, Shift)

key.set_mods —— 你也可以模擬按下組合鍵的效果(KMOD_ALT, KMOD_CTRL, KMOD_SHIFT)

key.set_repeat —— 無(wú)參數(shù)調(diào)用設(shè)置pygame不產(chǎn)生重復(fù)按鍵事件,二參數(shù)(delay, interval)調(diào)用設(shè)置重復(fù)事件發(fā)生的時(shí)間

key.name —— 接受鍵值返回鍵名

使用鍵盤控制方向

根據(jù)坐標(biāo)變化規(guī)律,通過(guò)這張圖幫助理解鍵盤如何控制方向:

用python和pygame游戲編程入門-鍵盤設(shè)備

我們使用key.get_pressed()修改之前的程序:


background_image_filename = './img/Underwater.png'
sprite_image_filename = './img/fish-b.png'

import pygame
from pygame.locals import *
from sys import exit
from Vec2d import *
 
pygame.init()
 
screen = pygame.display.set_mode((640, 480), 0, 32)
 
background = pygame.image.load(background_image_filename).convert()
sprite = pygame.image.load(sprite_image_filename).convert_alpha()
 
clock = pygame.time.Clock()
sprite_pos = Vec2d(200, 150)
sprite_speed = 300.
 
while True:
 
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
 
    pressed_keys = pygame.key.get_pressed()

    key_direction = Vec2d(0, 0)
    if pressed_keys[K_LEFT]:
        print(pressed_keys)
        key_direction.x = -1
    elif pressed_keys[K_RIGHT]:
        key_direction.x = +1
    if pressed_keys[K_UP]:
        key_direction.y = -1
    elif pressed_keys[K_DOWN]:
        key_direction.y = +1

    key_direction.normalized()

    screen.blit(background, (0,0))
    screen.blit(sprite, sprite_pos)

    time_passed = clock.tick(30)
    time_passed_seconds = time_passed / 1000.0

    sprite_pos+= key_direction * sprite_speed * time_passed_seconds

    pygame.display.update()


如果你不知道Vec2d是什么,傳送門-->pygame游戲編程入門-向量類的使用


本站部分內(nèi)容轉(zhuǎn)載自網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系管理員及時(shí)刪除。

預(yù)約試聽課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

国产乱子伦高清露脸对白-国产精品欧美久久久久天天影视-国产91视频一区-亚洲欧美日产综合在线网-黄视频网站在线看-国产欧美亚洲精品第1页-亚洲www在线-大学生女人三级在线播放-日本在线视频www鲁啊鲁-国产成人精品一区二区仙踪林-69精品欧美一区二区三区-成人欧美亚洲-日本污污网站-中国妞xxxhd露脸偷拍视频-国产精品aⅴ在线观看-精品中文字幕在线

        欧美精品一区免费| 九九爱精品视频| 日本成人中文字幕在线| 男人的天堂狠狠干| 黄色片免费在线观看视频| 午夜av中文字幕| 手机视频在线观看| 91日韩视频在线观看| 国产又大又黄又粗又爽| 欧美精品久久久久久久自慰| 777av视频| 国产一区二区网| 波多野结衣家庭教师视频| 中国一级黄色录像| 精品人妻人人做人人爽| 欧美成人精品免费| 三上悠亚久久精品| 色综合久久久久无码专区| 国产麻花豆剧传媒精品mv在线| 青青草原成人网| 日韩精品一区在线视频| 97超碰青青草| 中文字幕国产免费| 日韩video| 精品久久一二三| 精品日韩久久久| 五月天婷婷亚洲| 999久久久精品视频| 日本大片免费看| 美女福利视频在线| 亚洲一区二区中文字幕在线观看| www.激情网| 亚欧在线免费观看| 影音先锋成人资源网站| 黄色片久久久久| 在线视频观看一区二区| 男人日女人视频网站| 亚洲色图久久久| 韩日视频在线观看| 久久久国产欧美| 妺妺窝人体色www看人体| 狠狠爱免费视频| 青草全福视在线| 黄色片在线免费| 成人在线视频一区二区三区| 北条麻妃在线视频| 欧美日韩中文字幕在线播放| 国产又猛又黄的视频| 中国女人做爰视频| 天天爱天天操天天干| 国产视频在线观看网站| 好男人www社区| 国产一二三在线视频| 一女二男3p波多野结衣| 青青草视频在线免费播放| 天天干天天曰天天操| 久久久久久免费看| 91麻豆天美传媒在线| 少妇激情一区二区三区| 日韩精品 欧美| 国产一级大片免费看| 免费一区二区三区在线观看| 18禁免费无码无遮挡不卡网站| 欧美日韩久久婷婷| 久久精品网站视频| 中文字幕中文在线| 日本中文字幕二区| 制服丝袜中文字幕第一页| 国产一区二区在线免费播放| www.久久91| 中文字幕在线视频一区二区| 精品一区二区三区毛片| 国内精品视频一区二区三区| www.亚洲天堂网| 精品日韩久久久| 中文字幕第50页| 久久国产午夜精品理论片最新版本| 夜夜添无码一区二区三区| 人妻熟女一二三区夜夜爱| 波多结衣在线观看| 六月婷婷激情网| 六月丁香婷婷激情| 中文av字幕在线观看| 国产女主播av| 无码人妻丰满熟妇区五十路百度| 天天干天天综合| 美女av免费观看| 可以免费观看av毛片| 国产性生活一级片| 日韩网站在线免费观看| 国产精品人人爽人人爽| 日韩成人av免费| 欧美老熟妇喷水| 日本黄色a视频| 欧美性大战久久久久xxx| 国产成年人视频网站| 91九色丨porny丨国产jk| 韩国一区二区av| 黄色网在线视频| 8x8x成人免费视频| 免费无码毛片一区二三区| 在线观看免费不卡av| 加勒比成人在线| 亚洲一区二区偷拍| 992kp快乐看片永久免费网址| 91制片厂免费观看| 蜜臀视频一区二区三区| 农民人伦一区二区三区| 国产一伦一伦一伦| 成人毛片视频网站| 中文字幕日韩精品无码内射| 国产区二区三区| 欧美三级一级片| 欧美黄网在线观看| 美国av在线播放| 国内自拍第二页| 99视频在线视频| 日本在线观看a| 免费在线观看亚洲视频| 九一免费在线观看| 亚洲高清在线不卡| 五月婷婷之婷婷| 日本免费观看网站| 无人在线观看的免费高清视频| 国内精品在线观看视频| 日韩视频在线视频| 日韩精品综合在线| 欧美人成在线观看| 国产成人在线小视频| 波多野结衣与黑人| 成年女人18级毛片毛片免费| 日本香蕉视频在线观看| 免费看黄色a级片| 成年人视频大全| 日本熟妇人妻xxxx| 欧美日韩福利在线| 18禁免费观看网站| 国产免费成人在线| 九色91popny| 一级做a免费视频| 亚洲精品免费一区亚洲精品免费精品一区| 日韩视频免费在线播放| 日韩肉感妇bbwbbwbbw| 国产美女18xxxx免费视频| 亚洲制服在线观看| 国产精品自拍合集| 欧美女人性生活视频| 手机看片福利日韩| 91制片厂免费观看| 加勒比成人在线| 久久精品视频91| 伊人成人免费视频| www.在线观看av| 91视频免费版污| 黄黄视频在线观看| 91精品91久久久中77777老牛| 中文字幕第80页| 9l视频自拍9l视频自拍| www.av蜜桃| 人人干人人干人人| 日本美女爱爱视频| 欧美日韩第二页| 五月六月丁香婷婷| 国产96在线 | 亚洲| 日韩一区二区三区久久| 成人国产在线看| 色国产在线视频| 99久久国产综合精品五月天喷水| 国产97色在线 | 日韩| 91精产国品一二三产区别沈先生| 国产乱子伦精品视频| 9久久婷婷国产综合精品性色| 裸体裸乳免费看| 无码精品国产一区二区三区免费| 亚洲一区二区福利视频| 极品美女扒开粉嫩小泬| 欧洲美女亚洲激情| 国产精品免费观看久久| 影音先锋成人资源网站| 欧美午夜aaaaaa免费视频| 波多野结衣与黑人| 中国黄色片一级| 99精品视频播放| 男人添女荫道口喷水视频| 久久久久xxxx| 亚洲熟妇av日韩熟妇在线| 亚洲国产精品影视| 亚洲成人福利在线| 北条麻妃在线观看| 国产妇女馒头高清泬20p多| 人人爽人人爽av| 黄色aaa级片| 日韩中文字幕在线视频观看| 国产人妻互换一区二区| 色婷婷成人在线| 人妻丰满熟妇av无码区app| 青青青青草视频| www.国产在线播放| 国产一二三四五| 97超碰人人爱|