2 回答

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
pygame.mouse.get_pressed()
當(dāng)處理事件時(shí),將評(píng)估返回的坐標(biāo)。pygame.event.pump()
您需要通過或 來處理事件pygame.event.get()
。
參見pygame.event.get()
:
對(duì)于游戲的每一幀,您都需要對(duì)事件隊(duì)列進(jìn)行某種調(diào)用。這確保您的程序可以在內(nèi)部與操作系統(tǒng)的其余部分進(jìn)行交互。
pygame.mouse.get_pressed()
返回代表所有鼠標(biāo)按鈕狀態(tài)的布爾值序列。因此,您必須評(píng)估any
按鈕是否被按下(any(buttons)
)或者是否通過訂閱按下了特殊按鈕(例如buttons[0]
)。
例如:
import pygame
pygame.init()
screen = pygame.display.set_mode((800, 800))
run = True
while run:
? ? for event in pygame.event.get():
? ? ? ? if event.type == pygame.QUIT:
? ? ? ? ? ? run = False
??
? ? buttons = pygame.mouse.get_pressed()
? ? # if buttons[0]:? # for the left mouse button
? ? if any(buttons):? # for any mouse button
? ? ? ? print("You are clicking")
? ? else:
? ? ? ? print("You released")
? ? pygame.display.update()
如果您只想檢測(cè)鼠標(biāo)按鈕何時(shí)按下或釋放,那么您必須實(shí)現(xiàn)MOUSEBUTTONDOWN
and?MOUSEBUTTONUP
(參見pygame.event
模塊):
import pygame
pygame.init()
screen = pygame.display.set_mode((800, 800))
run = True
while run:
? ? for event in pygame.event.get():
? ? ? ? if event.type == pygame.QUIT:
? ? ? ? ? ? run = False
? ? ? ? if event.type == pygame.MOUSEBUTTONDOWN:
? ? ? ? ? ? print("You are clicking", event.button)
? ? ? ? if event.type == pygame.MOUSEBUTTONUP:
? ? ? ? ? ? print("You released", event.button)
? ? pygame.display.update()
Whilepygame.mouse.get_pressed()返回按鈕的當(dāng)前狀態(tài),而 MOUSEBUTTONDOWN和MOUSEBUTTONUP僅在按下按鈕后發(fā)生。

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
函數(shù) pygame.mouse.get_pressed 返回一個(gè)包含 true 或 false 的列表,因此對(duì)于單擊,您應(yīng)該使用-
import pygame
pygame.init()
screen = pygame.display.set_mode((800, 800))
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
pygame.display.update()
mouse = pygame.mouse.get_pressed()
if mouse[0]:
print("You are clicking")
else:
print("You released")
添加回答
舉報(bào)