仅允许整数步进时生成鼠标速度

2024-09-26 18:06:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我在一秒钟内调用move函数大约30次,并将鼠标移动几个像素。我移动鼠标的速度在0.5-2.5px/call之间变化。舍入给我1-3(移动只需要整数),这并不代表速度

我寻找一个解决方案(可能是生成器?),它以我当前的速度(例如0.7px)返回一个0和1(例如1,1,0,1,1,0...)之间的模式(如PWM信号),平均产生0.7px。 然而,这个发电机必须是自适应的,因为速度是不断变化的

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

到目前为止,我掌握的情况如下:

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

Tags: 函数程序move模式代表整数像素鼠标
1条回答
网友
1楼 · 发布于 2024-09-26 18:06:17

您需要做的是跟踪上一个位置和所需的当前位置,并分发圆坐标。可以跟踪函数中的前一个位置,但在类中这样做要容易得多

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

相关问题 更多 >

    热门问题