手写一个使用easeInOutQuad方式控制鼠标移动的代码
时间: 2024-03-02 08:50:38 浏览: 124
好的,以下是使用 PyAutoGUI 实现的一个使用 easeInOutQuad 方式控制鼠标移动的代码:
```python
import pyautogui
import math
# 设置屏幕分辨率,如果和实际不符,请修改为实际分辨率
SCREEN_WIDTH, SCREEN_HEIGHT = 1920, 1080
# 定义缓动函数
def easeInOutQuad(t):
if t < 0.5:
return 2 * t * t
else:
return -1 + (4 - 2 * t) * t
# 定义鼠标移动函数
def mouseMove(x, y, duration=1, tween=easeInOutQuad):
# 获取当前鼠标位置
currentX, currentY = pyautogui.position()
# 计算移动距离和时间间隔
distance = math.sqrt((x - currentX) ** 2 + (y - currentY) ** 2)
steps = int(distance / 5)
interval = duration / steps
# 计算每一步的位置和时间进度,并移动鼠标
for i in range(steps + 1):
t = i / steps
ease_t = tween(t)
newX = currentX + (x - currentX) * ease_t
newY = currentY + (y - currentY) * ease_t
pyautogui.moveTo(newX, newY, duration=interval)
# 调用函数控制鼠标移动
mouseMove(SCREEN_WIDTH // 2, SCREEN_HEIGHT // 2, duration=2, tween=easeInOutQuad)
```
该代码使用 PyAutoGUI 实现了一个使用 easeInOutQuad 方式控制鼠标移动的函数 `mouseMove`,该函数接受目标位置、移动时间和缓动函数作为参数,通过计算每一步的位置和时间进度,并使用 PyAutoGUI 提供的 `moveTo` 函数移动鼠标。在调用 `mouseMove` 函数时,可以传入不同的参数来控制鼠标的移动方式。
阅读全文