如何解决为什么 pyautogui 不会在绘图软件中突出显示和使用键盘动作? 这可以修复吗
我正在使用 pixeltudio 为一些东西制作动画。我能够自动化它。但是,pyautogui 按键和鼠标拖动交互不起作用。点击工作,但拖动以突出显示和键盘箭头按下不起作用。我在我的桌面上测试了代码 - 点击和键盘移动和拖动以突出显示所有工作正常,但是一旦我进入绘图系统,只有点击可以。是什么导致了这个问题,有没有办法解决它?谢谢! (代码如下供参考)
# auto twitch animation for da rest of it
import pyautogui as pag
import keyboard
# failsafe pls dont mess up
while True:
if keyboard.is_pressed("q"):
break
else:
pag.sleep(3)
# click gear 2355 50
pag.leftClick(2355,50)
pag.sleep(1)
# clone frame 1131 1039
pag.leftClick(1131,1039)
pag.sleep(1)
# click layer 2 twice 242 1387
pag.leftClick(242,1387)
pag.sleep(1)
pag.leftClick(242,1387)
pag.sleep(1)
# highlight clouds - two right 582 109 - 2414 494 leftClick,dragTo left (x,y,t,button="left)
pag.moveto(582,109)
pag.sleep(1)
pag.mouseDown(button="left")
pag.moveto(2414,494,1)
pag.mouseUp(button="left")
pag.sleep(1)
pag.press("right")
pag.sleep(1)
pag.press("right")
pag.sleep(1)
# highlight bottom cloud - two left 1013 973 - 111 803
pag.moveto(1013,973)
pag.sleep(1)
pag.mouseDown(button="left")
pag.moveto(111,803,1)
pag.mouseUp(button="left")
pag.sleep(1)
pag.press("left")
pag.sleep(1)
pag.press("left")
pag.sleep(1)
# plane four left 1029 474 - 112 622
pag.moveto(1029,474)
pag.sleep(1)
pag.mouseDown(button="left")
pag.moveto(112,622,1)
pag.mouseUp(button="left")
pag.sleep(1)
pag.press("left")
pag.sleep(1)
pag.press("left")
pag.sleep(1)
pag.press("left")
pag.sleep(1)
pag.press("left")
pag.sleep(1)
# plane four right 1450 656 - 2402 821
pag.moveto(1450,656)
pag.sleep(1)
pag.mouseDown(button="left")
pag.moveto(2402,821,1)
pag.mouseUp(button="left")
pag.sleep(1)
pag.press("right")
pag.sleep(1)
pag.press("right")
pag.sleep(1)
pag.press("right")
pag.sleep(1)
pag.press("right")
pag.sleep(1)
解决方法
使用 pydirectinput 库。如果其他人有这个问题 - 这是由于 pyautogui 模拟按键和鼠标按钮的旧系统。它使其不适用于某些游戏和程序,尤其是较新的游戏和程序。安装pydirectinput库,在代码中输入,将pyautogui前缀替换为pydirectinput。
import pyautogui
import pydirectinput
### instead of pyautogui.press("left") use
pydirectinput.press("left")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。