按住 pygame
Press and hold for pygame
我在 python 2.7 中使用 pygame 和 pyautogui 在屏幕上移动鼠标。我的代码如下所示:
import pyautogui
import pygame
pygame.init()
pygame.display.set_mode()
loop = True
while loop:
for event in pygame.event.get():
if event.type == pygame.quit:
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
pyautogui.moveRel(-50,0)
当我按下 "a" 时,我的代码将鼠标向左移动,但是当我想在屏幕上移动鼠标时,我必须反复按下按钮。有没有办法能够按住并在屏幕上移动鼠标?我看过关于这个主题的其他教程,但它们似乎非常针对特定项目。
基本上,您想要做的是设置一个变量,指示按键是否按下 keydown 并在按键打开时更新它。
在这里,我更新了你的代码来做到这一点,因为它可能更容易理解。
import pyautogui
import pygame
loop = True
a_key_down = False # Added variable
while loop:
for event in pygame.event.get():
if event.type == pygame.quit:
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
a_key_down = True # Replaced keydown code with this
if event.type == pygame.KEYUP: # Added keyup
if event.key == pygame.K_a:
a_key_down = False
if a_key_down: # Added to check if key is down
pyautogui.moveRel(-50,0)
我在 python 2.7 中使用 pygame 和 pyautogui 在屏幕上移动鼠标。我的代码如下所示:
import pyautogui
import pygame
pygame.init()
pygame.display.set_mode()
loop = True
while loop:
for event in pygame.event.get():
if event.type == pygame.quit:
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
pyautogui.moveRel(-50,0)
当我按下 "a" 时,我的代码将鼠标向左移动,但是当我想在屏幕上移动鼠标时,我必须反复按下按钮。有没有办法能够按住并在屏幕上移动鼠标?我看过关于这个主题的其他教程,但它们似乎非常针对特定项目。
基本上,您想要做的是设置一个变量,指示按键是否按下 keydown 并在按键打开时更新它。
在这里,我更新了你的代码来做到这一点,因为它可能更容易理解。
import pyautogui
import pygame
loop = True
a_key_down = False # Added variable
while loop:
for event in pygame.event.get():
if event.type == pygame.quit:
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
a_key_down = True # Replaced keydown code with this
if event.type == pygame.KEYUP: # Added keyup
if event.key == pygame.K_a:
a_key_down = False
if a_key_down: # Added to check if key is down
pyautogui.moveRel(-50,0)