gpt4 book ai didi

python - 仅允许整数步长时生成鼠标速度

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:08 24 4
gpt4 key购买 nike

我用 python 编写了一个简单的程序,其中包括移动鼠标(我使用 PyUserInput 来移动鼠标)。但是:只允许以整数步(例如像素)移动鼠标。因此 mouse.move(250.3,300.2) 不起作用。

我每秒调用 move 函数大约 30 次,并将鼠标移动几个像素。我移动鼠标的速度从 0.5-2.5 像素/调用不等。四舍五入给了我 1-3(移动只需要整数),这并不真正代表速度。

我寻找一个解决方案(也许是发电机?),它采用我当前的速度(例如 0.7px)并返回 0 和 1 中的模式(例如 PWM 信号)(例如 1,1,0 ,1,1,0...),平均产生 0.7px。然而,该生成器必须具有适应性,因为速度不断变化。

我对 python 很陌生,并且坚持最后一点:生成器函数的可变性。

这是我到目前为止所拥有的:

# for 0.75px/call
def getPWM(n):
nums = [1,0,1,1]
yield nums[n%4]

最佳答案

您需要做的是跟踪先前的位置和所需的当前位置,并发出舍入坐标。您可以跟踪函数中的先前位置,但在类中执行此操作要容易得多。

class pwm:
def __init__(self):
self.desired_position = 0.0
self.actual_position = 0

def nextPWM(self, speed):
self.desired_position += speed
movement = round(self.desired_position - self.actual_position)
self.actual_position += movement
return movement

关于python - 仅允许整数步长时生成鼠标速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39920445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com