Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: щагорох on July 09, 2017, 02:24:55 PM
-
Здравствуйте.Как сделать чтобы мышь ходила по кругу?Очень важно!
-
Занятная штука получилась. :D Добавил примитивную регулировку скорости, можно все нужные параметры вывести на горячие клавиши, если надо.
Скрипт не идеален конечно, это видно на малой скорости вращения курсора, или если рисовать круги в Paint'е, но окружность рисует правильную.
WAITMS(500)
$delay = 5 // задержка между перемещениями курсора
$step = 10 // шаг смещения курсора
$radius = 100 // радиус траектории курсора
$center_x = INT($_xmax / 2) // координаты начального положения курсора (центр круга)
$center_y = INT($_ymax / 2) // в данном примере - центр монитора
$sqrt = SQRT($radius)
$x = $center_x
$y = $center_y - $radius
MOVE($x, $y)
WAITMS($delay)
SUB(Регулировка_скорости) // Клавиши "+" и "-"
IF( (ISKEYDOWN(109) = 1) & ($delay < 100) )
INC($delay, 1)
END_IF
IF( (ISKEYDOWN(107) = 1) & ($delay > 0) )
INC($delay, -1)
END_IF
END_SUB
//--------------------------------
WHILE(1)
Регулировка_скорости()
WHILE($x < $center_x + $radius)
INC($x, $step)
$y = INT($center_y - SQRT($radius * $radius - ($center_x - $x) * ($center_x - $x)))
MOVE($x, $y)
WAITMS($delay)
END_CYC
WHILE($x > $center_x)
INC($x, -$step)
$y = INT($center_y + SQRT($radius * $radius - ($center_x - $x) * ($center_x - $x)))
MOVE($x, $y)
WAITMS($delay)
END_CYC
WHILE($x > $center_x - $radius)
INC($x, -$step)
$y = INT($center_y + SQRT($radius * $radius - ($center_x - $x) * ($center_x - $x)))
MOVE($x, $y)
WAITMS($delay)
END_CYC
WHILE($x < $center_x)
INC($x, $step)
$y = INT($center_y - SQRT($radius * $radius - ($center_x - $x) * ($center_x - $x)))
MOVE($x, $y)
WAITMS($delay)
END_CYC
END_CYC
//HALT
UPD: Окружность все таки не совсем правильная получается при рисовании, даже если сделать шаг равным единице.
Первый блин как всегда - комом. :)
-
Зачем так извращаться. x = sinA, y = cosA.
Псевдокод:
center_x = 500
center_y = 500
radius = 100
for i = 1, 360
x = center_x + sin(i * 3.14 / 180) * radius
y = center_y + cos(i * 3.14 / 180) * radius
move (x, y)
end
Нарисует круг.
-
Давно уже все написано
$r = 4 // шаг
$r2 = 300 // Радиус
$x0 = 500 // координата центра
$y0 = 500
WHILE(1)
FOR($a=0,$a<360+$r,$r)
MOVE(ROUND($x0+$r2*cos($a),0),ROUND($y0+$r2*sin($a),0))
WAITMS(5) // задержка в мс (отвечает за скорость вращения)
END_CYC
END_CYC
-
Вот так! ;D Собрались два джентльмена
пописать написать скрипт... :D
Смотрим видео! :)) (http://radikal.ru/video/bz5vYkoiaDF)
Ну как тут не вспомнить слова Михаила Круга из песни "После третьей ходки"?
"Кулачищи у Андрюшки не пролазили в кадушку, Дрюня беспредел не допускал." :) ;D :)