成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > pygame實(shí)現(xiàn)鍵盤(pán)和鼠標(biāo)事件的處理

pygame實(shí)現(xiàn)鍵盤(pán)和鼠標(biāo)事件的處理

熱門(mén)標(biāo)簽:西藏快速地圖標(biāo)注地點(diǎn) 地圖標(biāo)注推廣單頁(yè) 長(zhǎng)春人工智能電銷機(jī)器人官網(wǎng) 廈門(mén)crm外呼系統(tǒng)如何 如何在地圖標(biāo)注文字 女王谷地圖標(biāo)注 n400電話申請(qǐng)多少錢 ai地圖標(biāo)注 百應(yīng)ai電銷機(jī)器人鄭州

所謂事件,就是程序上發(fā)生的事。例如用戶按下鍵盤(pán)上的某個(gè)鍵或者單擊、移動(dòng)鼠標(biāo),對(duì)于這些事件,游戲程序需要作出反應(yīng)。如《 pygame 圖像/圖形繪制》中例子,程序會(huì)一直運(yùn)行下去,直到用戶關(guān)閉窗口而產(chǎn)生一個(gè) QUIT 事件,pygame 會(huì)接收用戶的各種操作(例如按鍵盤(pán)上的鍵、移動(dòng)鼠標(biāo)等)產(chǎn)生事件。事件隨時(shí)可能發(fā)生,而且量可能會(huì)很大,pygame 的做法是把一系列的事件存放到一個(gè)隊(duì)列里逐個(gè)處理。

在上節(jié)例子中使用了 pygame.event.get() 來(lái)處理所有事件,如果使用 pygame.event.wait() , pygame 會(huì)等到發(fā)生一個(gè)事件時(shí)才繼續(xù)下去,一般在游戲中不太實(shí)用,因?yàn)橛螒蛲切枰獎(jiǎng)討B(tài)運(yùn)作的。pygame 的常用事件如下所示:

事件 產(chǎn)生途徑 參數(shù)
QUIT 用戶按下“關(guān)閉”按鈕 None
ACTIVEEVENT pygame 被激活或者隱藏 gain 、state
KEYDOWN 鍵盤(pán)被按下 unicode 、key 、mod
KEYUP 鍵盤(pán)被放開(kāi) key 、mod
MOUSEMOTION 鼠標(biāo)移動(dòng) pos 、rel 、buttons
MOUSEBUTTONDOWN 鼠標(biāo)被按下 pos 、button
MOUSEBUTTONUP 鼠標(biāo)被放開(kāi) pos 、button

1. pygame 的鍵盤(pán)事件的處理

通常用 pyagme.event.get() 獲取所有事件,若 event.type == KEYDOWN , 這時(shí)是鍵盤(pán)事件,再判斷按鍵的 event.key 的種類(即 K_a 、 K_b 、 K_LEFT 這種形式)。用戶也可以使用 pygame.key.get_pressed() 來(lái)獲取所有被按下的鍵值,對(duì)應(yīng)的就是鍵是否被按下。

keys_pressed = pygame.key.get_pressed()
if keys_pressed[K_SPACE]:
  # 空格鍵被按下
  fire()      # 發(fā)射子彈

在 key 模塊下有很多函數(shù),如下:

  • key.get_focused(): 返回當(dāng)前的 pygame 窗口是否被激活。
  • key.get_pressed(): 獲得所有被按下的鍵值。
  • key.get_mods(): 按下的組合鍵(Alt 、Ctrl 、Shift)。
  • key.set_mods(): 模擬按下組合鍵的效果(KMOD_ALT 、 KMOD_CTRL 、 KMOD_SHIFT)。

使用 pygame 開(kāi)發(fā)一個(gè)由用戶控制坦克移動(dòng)的游戲。在上節(jié)例子的基礎(chǔ)上增加通過(guò)方向鍵控制坦克移動(dòng)的功能,并為游戲增加背景圖片。代碼如下:

import pygame
def tank_play():
  pygame,inite()
  tank_image = pygame.image.load("../images/tank.png")
  tank_rect = tank_image.get_rect()
  back_image = pygame.iamge.load("../images/background2.jpg")
  back_rect = back_image.get_rect()
  screen = pygame.display.set_mode(back_rect.size)
  pygame.display.set_caption("用戶方向鍵控制移動(dòng)的坦克")
  offset = 2   # 偏移量
  fps_clock = pygame.time.Clock()
  while True:
    fps_clock.tick(60)
    for event in pygame.event.get():
      if event.type == pygame.QUIT:
        pygame.quit()
        exit()
    keys_pressed = pygame.key.get_presssed()
    if keys_pressed[pygame.K_RIGHT]:
      tank_rect.x += offset
    if keys_pressed[pygame.K_LEFT]:
      tank_rect.x -= offset
    if keys_pressed[oygame.K_UP]:
      tank_rect.y -= offset
    if keys_pressed[pygame.K_DOWN]:
      tank_rect.y += offset
    tank_rect.clamp_ip(back_rect)
    screen.blit(back_image, back_rect)
    screen.blit(tank_image, tank_rect)
    pygame.display.update()
      
if __name__ == '__main--':
  tank_play()

當(dāng)用戶按下方向鍵時(shí)坦克按指定方向移動(dòng),釋放方向鍵時(shí)坦克停止移動(dòng)。如下所示:

2. pygame 的鼠標(biāo)事件的處理

pygame.mouse 的函數(shù)如下:

  • pygame.mouse.get_pressed(): 返回按鍵的按下情況,返回的是一元組,分別為左鍵、中鍵、右鍵,如果被按下則為 True 。
  • pygame.mouse.get_rel(): 返回相對(duì)偏移量,即(x 方向偏移量,y 方向偏移量)的一元組。
  • pygame.mouse.get_pos(): 返回當(dāng)前鼠標(biāo)位置(x, y)。

例如:x, y = pygame.mouse.get_pos() 用于獲取鼠標(biāo)位置。

  • pygame.mouse.set_pos(): 設(shè)置鼠標(biāo)位置。
  • pygame.mouse.set_visible(): 設(shè)置鼠標(biāo)光標(biāo)是否可見(jiàn)。
  • pygame.mouse.get_focused(): 如果鼠標(biāo)在 pygame 窗口內(nèi)有效,返回 True 。
  • pygame.mouse.set_cursor(): 設(shè)置鼠標(biāo)的默認(rèn)光標(biāo)樣式。
  • pygame.mouse.get_cursor(): 返回鼠標(biāo)的光標(biāo)樣式。

演示鼠標(biāo)事件的處理程序,代碼如下:

from math import pi
from random import randint
import pygame

pygame.init()
screen = pygame.display.set_mode((640, 480))
points = []
while True:
  for event in pygame.event.get():
    if event.type == pygame.QUIT:
      pygame.quit()
      exit()
  	if event.type == pygame.KEYDOWN:
      # 按任意鍵可清屏,并把點(diǎn)恢復(fù)到原始狀態(tài)
      points = []
      srceen.fill((255, 255, 255))   # 用白色填充窗口背景
    if event.type == pygame.MOUSEBUTTONDOWN:	# 鼠標(biāo)按下
      screen.fill((255, 255, 255))
      # 畫(huà)隨機(jī)矩形
      rc = (255, 0, 0)	# 紅色
      rp = (randint(0, 639), randint(0, 479))
      rs = (639 - randint(rp[0], 639), 479 - randint(rp[1], 479))
      pygame.draw.rect(screen, rc, pygame.Rect(rp, rs))
      # 畫(huà)隨機(jī)圓形
      rc = (0, 255, 0)	# 綠色
      rp = (randint(0, 639), randint(0, 479))
      rr = randint(1, 200)
      pygame.draw.circle(screen, rc, rp, rr)
      # 獲取當(dāng)前鼠標(biāo)單擊位置
      x, y = pygame.mouse.get_pos()
      points.append((x, y))
      # 根據(jù)單擊位置畫(huà)弧線
      angle = (x / 639) * pi * 2
      pygame.draw.arc(screen, (0, 0, 0), (0, 0, 639, 479), 0, angle, 3)
      # 根據(jù)單擊位置畫(huà)橢圓
      pygame.draw.ellipse(screen, (0, 255, 0), (0, 0, x, y))
      # 從左上和右下畫(huà)兩根連線到單擊位置
      pygame.draw.line(screen, (0, 0, 255), (0, 0), (x, y))
      pygame.draw.line(screen, (255, 0, 0), (640, 480), (x, y))
      # 畫(huà)單擊軌跡圖
      if len(points) > 1:
        pygame.draw.lines(screen, (155, 155, 0), points, False, 2)
      # 把鼠標(biāo)單擊的每個(gè)點(diǎn)畫(huà)明顯點(diǎn)
      for p in points:
        pygame.draw.circle(screen, (155, 155, 155), p, 3)
	pygame.display.update()

運(yùn)行這個(gè)程序,在窗口上單擊鼠標(biāo)就會(huì)有圖形出來(lái),按鍵盤(pán)上任意鍵可清屏重新開(kāi)始。如下:

到此這篇關(guān)于pygame實(shí)現(xiàn)鍵盤(pán)和鼠標(biāo)事件的處理的文章就介紹到這了,更多相關(guān)pygame 鍵盤(pán)和鼠標(biāo)事件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解pygame捕獲鍵盤(pán)事件的兩種方式
  • Python中pygame的mouse鼠標(biāo)事件用法實(shí)例
  • python基于pygame實(shí)現(xiàn)響應(yīng)游戲中事件的方法(附源碼)
  • 詳解Python中Pygame鍵盤(pán)事件

標(biāo)簽:興安盟 黔東 內(nèi)江 拉薩 亳州 廊坊 渭南 綿陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《pygame實(shí)現(xiàn)鍵盤(pán)和鼠標(biāo)事件的處理》,本文關(guān)鍵詞  pygame,實(shí)現(xiàn),鍵盤(pán),和,鼠標(biāo),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《pygame實(shí)現(xiàn)鍵盤(pán)和鼠標(biāo)事件的處理》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于pygame實(shí)現(xiàn)鍵盤(pán)和鼠標(biāo)事件的處理的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产成人精品国内自产拍免费看| 五月天久久久| 国产日韩欧美亚洲| 人人玩人人添人人澡欧美| 一级特黄视频| 老司机aⅴ毛片免费观看| 欧美伊人精品成人久久综合97| 日韩欧美在线综合| av电影天堂一区二区在线| 国外成人在线播放| 色香蕉成人二区免费| 韩国成人福利片在线播放| 国产亚洲情侣一区二区无| 久久福利综合| 一区二区三区日本久久久| 亚洲伊人av| 五月开心播播网| 亚洲av无码一区二区乱子伦| 国产性猛交xxxx免费看久久| 欧美日韩国产精品激情在线播放| 99re这里都是精品| 日韩精品久久久久久| 精品成人av一区二区在线播放| 国产亚洲精品精华液| 成人丝袜高跟foot| 免费看成人吃奶视频在线| 国产精品久久久久不卡| 国产视频一区二| 午夜成人鲁丝片午夜精品| 亚洲欧洲免费| 欧美一区二区三区图| 在线天堂中文www视软件| 久久婷婷丁香| 亚洲韩国精品一区| 亚洲91中文字幕无线码三区| 国产精品直播网红| 国产精品视频你懂的| 国产三级精品三级在线专区| 一区二区三区动漫| 国产女同一区二区| 3d动漫一区二区三区在线观看| 在线观看不卡视频| 五月开心六月丁香综合色啪| 亚洲毛片在线播放| 97影院理论片在线播放| 在线碰免费视频在线观看| 免费黄色的网站| 色8久久影院午夜场| 清纯唯美亚洲激情| 亚洲国产日韩a在线播放性色| 四虎影院免费在线| 欧美久久香蕉| gogo人体高清视频| 国产日韩一区二区三区在线播放| 国产伦精品一区二区三区高清版| 精品淫伦v久久水蜜桃| 日韩和的一区二区| 成人精品国产一区二区4080| 日本大片在线播放| 亚洲自拍偷拍第一页| 日本高清不卡中文字幕| 欧美高清中文字幕| 狠狠操一区二区三区| 亚欧日韩另类中文欧美| 久久久久久国产精品无码| 亚洲一区av在线播放| 国产67194| 精品视频一区二区三区免费| 午夜在线观看视频18| 黄色国产网站在线播放| 日韩在线精品强乱中文字幕| 欧美亚洲另类制服自拍| 中文乱码字幕av网站| 国产精品第1页| 久久mv成人精品亚洲动漫| 午夜精品一区二区三区三上悠亚| 欧美亚洲第一区| 日本aaa在线观看| 欧美一级日韩一级| 日韩一二三四| 国精产品一区一区三区四川| аⅴ资源天堂资源库在线| 国产不卡精品视男人的天堂| 日本高清不卡aⅴ免费网站| 欧美一区二区在线免费播放| 亚洲免费一级电影| 欧美日韩在线不卡视频| 中文在线手机av| 日本肉体xxxx裸体xxx免费| 成人区人妻精品一区二| 一级黄色特级片| 俄罗斯精品一区二区三区| 国产aⅴ精品一区二区四区| 任你弄精品视频免费观看| 亚洲综合另类小说| 精品一区二区三孕妇视频| 国产精品白丝在线| 亚洲一区二区在线播放相泽| 欧美日韩中国免费专区在线看| 久久蜜桃香蕉精品一区二区三区| 国产一区二区电影| h片在线观看网站| 欧美a在线看| 国产精品酒店视频| caoporn国产精品免费视频| 中文在线资源| 小黄鸭精品aⅴ导航网站入口| 69日本xxxxxxxxx49| 午夜精品毛片| 国产又爽又黄免费软件| 精品国产高清自在线一区二区三区| 成人网18入口| 欧美一级片在线| 成人免费xxxxx在线观看| 久久国产毛片| 午夜免费日韩视频| 中文字幕欧美精品日韩中文字幕| 嗯啊主人调教在线播放视频| 91av精品| 亚洲欧美三级在线| 一级二级三级视频| 国产伦精品一区二区三区在线观看| 久草免费在线| 一区二区成人在线观看| 国产美女视频网站| 精品精品国产高清一毛片一天堂| 热久久视久久精品18亚洲精品| 国产成人精品网| 亚洲色图另类图片| 久久精品国产亚洲av麻豆蜜芽| 一级片在线视频| 国产露脸91国语对白| 国产女人在线视频| 色999日韩国产欧美一区二区| 好吊视频一区二区三区四区| 欧美激情一区二区三区成人| 尤物yw午夜国产精品视频明星| 欧美制服丝袜第一页| 天堂中文字幕在线观看| blackedav金发美女大战黑人| 2021最新国产精品一区| 18禁男女爽爽爽午夜网站免费| 中文字幕+乱码+中文字幕| 一区二区三区欧美亚洲| 视频精品二区| 一区二区三区四区在线不卡高清| 日本精品999| 好吊色欧美一区二区三区四区| 一区二区三区欧洲区| 国产精品久久久久久久妇| 亚欧精品一区| 日本欧美一区| 精品日本一区二区三区在线观看| 国产福利图片| 色偷偷9999www| av日韩亚洲| 国产精品扒开腿做爽爽爽a片唱戏| 久久一日本道色综合| 亚洲精品一区二区三区影院忠贞| 亚洲免费三区一区二区| 五月天久久久久久| 亚洲一区二区三区无吗| 国产对白在线正在播放| 狠狠艹夜夜干| 视频三区二区一区| 有码一区二区三区| 精品网站aaa| 亚洲韩国一区二区三区| 五月天久久综合网| 午夜久久久久久| 男人在线资源站| 亚洲一区二区三区四区五区中文| 手机在线理论片| 男插女视频久久久| 激情都市一区二区| 日韩成人免费| 欧美xxxx吸乳| 免费涩涩18网站入口| 日韩伦理电影网站| 热99精品里视频精品| 少妇太紧太爽又黄又硬又爽小说| 污视频在线观看网站| 国产精品无码一区二区三区免费| 日本黄色一级视频| 夜夜躁狠狠躁日日躁av| 麻豆精品一区二区综合av| 亚洲第一色av| 狠狠v欧美ⅴ日韩v亚洲v大胸| 99久久久久国产精品| 韩国女主播一区二区| 国产精品高清乱码在线观看| 先锋av资源在线| 玖玖玖免费嫩草在线影院一区| 日韩伦理在线免费观看| 成人黄色大片在线免费观看| 久久影视精品| 国产高潮流白浆喷水视频| 日本夜夜草视频网站| 99久久免费精品国产72精品九九| 国产卡二和卡三的视频| 丝袜亚洲另类欧美综合| 色综合久久久久久久久| 中文字幕网站在线观看| 国产精品亚洲二区在线观看| 91香蕉国产在线观看| 一二三四视频在线社区中文字幕2| 青青草成人免费视频| 91黄页在线观看| av在线1区2区| 国产成人99久久亚洲综合精品| 国产二区三区四区| 无码人妻一区二区三区免费n鬼沢| 中国xxxx性xxxx产国| 老女人性生活视频| 国产亚洲二区| 亚洲国产私拍精品国模在线观看| 成人在线电影网站| 日韩午夜精品视频| 日韩麻豆第一页| 国产日韩1区| 欧美日韩中文字幕综合视频| 日本一区二区免费在线| 中文字幕在线精品| 欧美成人性生活| 国产精品免费在线视频| 国模一区二区| 精品国产伦一区二区三区观看方式| 国产精品99久久久久久宅男| 日本不卡一区二区在线观看| 亚洲一区二区三区四区五区xx| 欧美人与性动xxxx| 精品久久久久久久| 久久久久青草大香线综合精品| 中文字幕+乱码+中文| 欧美性做爰猛烈叫床潮| 蜜桃av乱码一区二区三区| 97超视频在线观看| 狠狠干夜夜草| 四虎成人永久免费视频| 蜜桃视频在线观看一区| 91欧美一区二区三区| 羞羞在线视频| 7777奇米亚洲综合久久| 黄频视频在线观看| 成人亚洲欧美激情在线电影| 一区二区三区高清视频在线观看| 免费毛片网站在线观看| 高潮一区二区三区乱码| 免费日韩在线视频| 日本一区二区三区在线免费观看| 亚洲一区二区三区三州| 丁香花在线影院观看在线播放| 国产精品三级一区二区| 思思久久99热只有频精品66| 探花国产精品一区二区| 一区二区毛片| 欧美激情二区三区| 成人国产精品一区二区免费麻豆| 日本最新高清不卡中文字幕| 中文在线综合| 国产超碰人人爽人人做人人爱| 欧美三级在线免费观看| 国产一级二级三级在线观看| 日韩人在线观看| 在线 亚洲欧美在线综合一区| 色呦呦中文字幕| 日韩欧美天堂| 亚洲精品电影网在线观看| 国产精品女同一区二区| 秋霞成人午夜鲁丝一区二区三区| 91精品国产91久久久久久| 国产成人在线视频网址| 美女视频免费观看网站在线| 羞羞答答国产精品www一本| 不卡在线视频| 外国成人直播| 中国成人亚色综合网站| 在线观看av资源网| av大片免费在线观看| 国产精品中文字幕在线| 国产女人aaa级久久久级| 欧美精品尤物在线观看| 九九热爱视频精品视频高清| 成人免费无码大片a毛片| www国产精品内射老熟女| 国产美女福利在线| 91最新地址在线播放| 97久久综合精品久久久综合| 久久精品亚洲天堂| 爱啪视频在线观看视频免费| 亚洲一区精品视频| 乱亲女h秽乱长久久久| 在线观看av一区| www.尤物.com| 亚洲毛片在线免费观看| 国产粉嫩一区二区三区在线观看| 国产在线一区二区三区| 国产精品丝袜久久久久久消防器材| 亚洲日本伊人| 日本五十熟hd丰满| 亚洲欧美日韩在线播放| 亚洲人精品一区| 亚洲娇小娇小娇小| 欧美极品美女视频| 成人短视频软件网站大全app| 国产精品久久久久久久妇| 久久婷婷国产精品| 熟妇高潮一区二区高潮| 一区二区三区动漫| 成年女人毛片| 日韩 欧美 亚洲| 最近中文字幕一区二区三区| 国产精品久久久久久久| 91偷拍一区二区三区精品| 成a人片在线观看| 小草av在线播放| 在线免费看黄视频| 精品国产一区二区三区麻豆免费观看完整版| 伊人久久精品一区二区三区| 亚洲伦乱视频| 国产视频手机在线播放| 国产又爽又黄免费视频| 国产一区二区三区福利| 中文字幕桃花岛| 久久影院电视剧免费观看| 久久久久无码国产精品一区李宗瑞| 中文精品在线观看| 亚洲激情视频一区|