[英]How to make the pygame mouse continue to return events using the pygame event loop
我想知道如何做到這一點,以便當您按住 pygame 鼠標時,它會繼續在事件循環中獲取事件。
我不想使用 pygame.mouse.get_pressed() 因為我還想有一個不做任何事情的按住時間。
有點像如果您在瀏覽器的文本框中按住一個鍵:它鍵入一個鍵,然后等待大約半秒鍾,然后開始非常快速地鍵入很多鍵。
另外,我認為它在創建窗口時的主循環之前涉及一些東西,但我不確定。
我知道在 pygame 中有一種方法可以做到這一點,因為我之前看到過 Stack Overflow 的答案,但是經過一段時間的搜索,我找不到它。 如果您已經看過或可以找到它,那也將不勝感激。 這是我第一次問問題,所以如果我做錯了什么,請告訴我。
這是代碼:
import pygame
WIDTH = 1000
HEIGHT = 800
WIN = pygame.display.set_mode()
def main():
run = True
clock = pygame.time.Clock()
while run:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.MOUSEBUTTONDOWN:
print("the mouse was pressed")
WIN.fill((0, 0, 0))
pygame.display.update()
我想知道如何做到這一點,以便當您按住 pygame 鼠標時,它會繼續在事件循環中獲取事件。
喲不能。 但是,您可以使用pygame.mouse.get_pressed()
:
import pygame
WIDTH = 1000
HEIGHT = 800
WIN = pygame.display.set_mode()
def main():
run = True
clock = pygame.time.Clock()
while run:
clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
buttons = pygame.mouse.get_pressed()
if any(buttons):
print("the mouse was pressed")
WIN.fill((0, 0, 0))
pygame.display.update()
MOUSEBUTTONDOWN
事件在您單擊鼠標按鈕時發生一次,而MOUSEBUTTONUP
事件在釋放鼠標按鈕時發生一次。
pygame.mouse.get_pressed()
返回一個布爾值列表,代表所有鼠標按鈕的當前狀態( True
或False
)。 只要按下按鈕,按鈕的狀態就是True
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.