PyGame 中的 Mousebuttondown 事件
PyGame,顧名思義,是 Python 中的開源多媒體
庫,主要用於製作視訊遊戲
,包括圖形、聲音、視覺等。如今,遊戲程式設計非常成功。
它是一個跨平臺庫,可以在多個平臺上使用一個程式碼庫。該庫包含許多圖形和聲音模組,因為沒有聲音或圖形,任何遊戲都是毫無意義的。
本教程演示如何使用 PyGame 檢測 MOUSEBUTTONDOWN
事件並觸發一個動作作為響應。
在 Python 2.7 中安裝 PyGame
要使用這個庫,我們應該先安裝它。如果你執行的是 Python 2.7
版本,你應該使用以下命令安裝 PyGame。
#Python 2.7
conda install -c cogsci pygame
在 Python 3.5 中安裝 PyGame
如果你執行的是 Python 3.5 版,則應使用以下命令。
#Python 3.x
pip3 install pygame
在 PyGame 中檢測 MOUSEBUTTONDOWN
事件
在任何遊戲中,從玩家那裡獲取輸入並執行動作是遊戲的主要部分。MOUSEBUTTONDOWN
事件發生在你單擊滑鼠按鈕時,無論是向左還是向右,無論你在單擊後按住多少時間。
在下面的程式碼中,我們設定了遊戲視窗並以畫素為單位定義了視窗的長度和高度。我們建立了主迴圈
(while 迴圈)和事件迴圈
(for 迴圈)來捕獲事件。
在 for
迴圈中,我們使用 if
條件檢查了事件的型別。當觸發 MOUSEBUTTONDOWN
事件時,將顯示一條訊息顯示 MOUSEBUTTONDOWN 事件發生
。
如果使用者通過按下游戲視窗中的 X
按鈕退出遊戲,QUIT
事件被觸發,作為響應,遊戲結束,視窗將退出。在這裡,我們在 PyGame 視窗中按下了一次滑鼠按鈕。
示例程式碼:
#Python 3.x
import pygame
import sys
pygame.init()
display = pygame.display.set_mode((500, 500))
while True:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
print("MOUSEBUTTONDOWN event occured")
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
輸出:
#Python 3.x
MOUSEBUTTONDOWN event occured
如果要檢查按下了哪個滑鼠按鈕,向左還是向右,可以檢查 pygame.mouse.get_pressed()
方法返回的值。此方法返回三個值,每個滑鼠按鈕一個。
在這裡,我們將返回的值儲存在一個列表中。每個滑鼠按鈕都與滑鼠左鍵、滑鼠中鍵、滑鼠右鍵、滑鼠滾輪向上和滑鼠滾輪向下關聯的值分別為 1、2、3、4、5。
在下面的程式碼中,我們檢查了單擊了哪個滑鼠按鈕並相應地列印了一條訊息。我們按下了滑鼠左鍵和右鍵。
示例程式碼:
#Python 3.x
import pygame
import sys
pygame.init()
display = pygame.display.set_mode((500, 500))
while True:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
mouse_presses = pygame.mouse.get_pressed()
if mouse_presses[0]:
print("Left mouse button pressed")
if mouse_presses[2]:
print("Right mouse button pressed")
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
輸出:
#Python 3.x
Left mouse button pressed
Right mouse button pressed
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn