pygame 那检测长按鼠标
时间: 2023-08-04 20:09:41 浏览: 248
检测鼠标动作
4星 · 用户满意度95%
要检测长按鼠标,你可以使用 pygame.mouse.get_pressed() 函数来获取当前鼠标按键的状态。以下是一个示例代码,演示如何检测长按鼠标:
```python
import pygame
from pygame.locals import *
pygame.init()
# 设置窗口尺寸
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Detecting Mouse Hold")
# 长按鼠标的阈值(以毫秒为单位)
hold_threshold = 500
# 长按鼠标的时间
hold_time = 0
# 游戏主循环
running = True
while running:
for event in pygame.event.get():
if event.type == QUIT:
running = False
# 获取当前鼠标按键的状态
mouse_buttons = pygame.mouse.get_pressed()
# 如果鼠标左键被按下
if mouse_buttons[0]:
# 增加长按鼠标的时间
hold_time += pygame.time.get_ticks()
# 如果长按鼠标的时间超过阈值
if hold_time >= hold_threshold:
print("Mouse is held down")
else:
# 重置长按鼠标的时间
hold_time = 0
# 更新屏幕显示
pygame.display.update()
pygame.quit()
```
这段代码在主循环中获取当前鼠标按键的状态,如果鼠标左键被按下,它会逐渐增加一个计时器的值。如果计时器的值超过设定的阈值(hold_threshold),则打印 "Mouse is held down"。当鼠标左键释放时,计时器会重置为零。你可以根据需要调整阈值来控制长按鼠标的时间。
阅读全文