Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Как сделать круг или многоугольник в определённом месте
Kostick
Отправлено: 31 Декабря, 2021 - 21:55:57
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020  
Репутация: 1




Здравствуйте. Допустим есть круг с диаметром 40 пикселей. Центр круга в координатах (100, 100). Нужно, чтобы мышь перемещалась по этому кругу или по многоугольнику. Я могу сделать движение мышь с помощью команды "mousemove", в ручную выбрав координаты, например, сделать 16-тиугольник. Но можно ли это сделать с помощью математической формулы, цикла или ещё как-то? Например, чтобы было больше 16-ти точек, чтоб было более плавное движение.
 
 Top
Zireael
Отправлено: 31 Декабря, 2021 - 22:01:39
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * cos(i);
y = 100 + 40 * sin(i);
mousemove (x, y);
sleep (1);
}
 
 Top
Kostick
Отправлено: 31 Декабря, 2021 - 22:06:02
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020  
Репутация: 1




 Zireael пишет:
CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * cos(i);
y = 100 + 40 * sin(i);
mousemove (x, y);
sleep (1);
}

Не могу сейчас опробовать, но я так понимаю, это по часовой стрелке. А как сделать, чтоб мышь двигалась против часовой стрелки?

(Отредактировано автором: 31 Декабря, 2021 - 22:07:38)

 
 Top
Zireael
Отправлено: 31 Декабря, 2021 - 22:09:25
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
как сделать, чтоб мышь двигалась против часовой стрелки?

CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * sin(i);
y = 100 + 40 * cos(i);
mousemove (x, y);
sleep (1);
}
 
 Top
Kostick
Отправлено: 31 Декабря, 2021 - 22:12:25
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020  
Репутация: 1




 Zireael пишет:
 Цитата:
как сделать, чтоб мышь двигалась против часовой стрелки?

CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * sin(i);
y = 100 + 40 * cos(i);
mousemove (x, y);
sleep (1);
}

Хех, понял, завтра попробую, спасибо большое, с Наступающим/наступившимУлыбка
 
 Top
Kostick
Отправлено: 01 Января, 2022 - 16:20:35
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020  
Репутация: 1




 Zireael пишет:
CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * cos(i);
y = 100 + 40 * sin(i);
mousemove (x, y);
sleep (1);
}

Да, спасибо, все замечательно.
А как сделать, чтобы мышь двигалась по часовой стрелке, но в определенный момент стала двигаться в обратную сторону. Т.е. начался новый цикл против часовой стрелки, но мышь начала с того момента, где остановилась на цикле по часовой стрелке. И наоборот.
Просто у меня задача:
При появлении надписи "отпустить" - нужно крутить против часовой стрелки, потом появляется надпись "подтянуть" - нужно крутить по часовой стрелке, и нужно из тех же координат двигать мышкой.
Да, в цикле она заканчивает в одном и том же месте, что по часовой, что против, но видимо в игре есть мнимая мышь, которая останавливается, когда сменяется надпись, и из-за этого происходит баг подтягивания, когда мышь прыгает с одной точки на другую.

(Отредактировано автором: 01 Января, 2022 - 16:36:23)

 
 Top
Zireael
Отправлено: 01 Января, 2022 - 16:36:06
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
При появлении надписи "отпустить" - нужно крутить против часовой стрелки, потом появляется надпись "подтянуть" - нужно крутить по часовой стрелке, и нужно из тех же координат двигать мышкой.

CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * sin(i);
y = 100 + 40 * cos(i);
mousemove (x, y);
sleep (10);

// тут условие выхода из цикла
// поиск картинки или ещё что-то
// это для примера:
if(i>200)break;
}


for (int j=i; j>0; j=j-5)
{
x = 100 + 40 * sin(j);
y = 100 + 40 * cos(j);
mousemove (x, y);
sleep (10);
}
 
 Top
Kostick
Отправлено: 01 Января, 2022 - 16:45:12
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 184
Дата рег-ции: Авг. 2020  
Репутация: 1




 Zireael пишет:
 Цитата:
При появлении надписи "отпустить" - нужно крутить против часовой стрелки, потом появляется надпись "подтянуть" - нужно крутить по часовой стрелке, и нужно из тех же координат двигать мышкой.

CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * sin(i);
y = 100 + 40 * cos(i);
mousemove (x, y);
sleep (10);

// тут условие выхода из цикла
// поиск картинки или ещё что-то
// это для примера:
if(i>200)break;
}


for (int j=i; j>0; j=j-5)
{
x = 100 + 40 * sin(j);
y = 100 + 40 * cos(j);
mousemove (x, y);
sleep (10);
}

Пример:(для просмотра ссылки Вам необходимо авторизоваться) Как видно из видео, ползунок остановился чуть левее, а круг начался как обычно снизу.
Т.е. тут привязка не к размеру переменной i, чтобы можно было использовать
 Цитата:
if(i>200)break;

Т.к. я делаю в визуальном редакторе, я бы хотел показать алгоритм
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Тут идет поиск изображения слова "натянуть" и "ослабить", и в зависимости от них тот или иной цикл.
А, увидел, что
 Цитата:
for (int j=i; j>0; j=j-5)

Сейчас попробую
(Добавление)
 Kostick пишет:
 Zireael пишет:
 Цитата:
При появлении надписи "отпустить" - нужно крутить против часовой стрелки, потом появляется надпись "подтянуть" - нужно крутить по часовой стрелке, и нужно из тех же координат двигать мышкой.

CODE:
int x, y;

for (int i=0; i<360; i=i+5)
{
x = 100 + 40 * sin(i);
y = 100 + 40 * cos(i);
mousemove (x, y);
sleep (10);

// тут условие выхода из цикла
// поиск картинки или ещё что-то
// это для примера:
if(i>200)break;
}


for (int j=i; j>0; j=j-5)
{
x = 100 + 40 * sin(j);
y = 100 + 40 * cos(j);
mousemove (x, y);
sleep (10);
}

Пример:(для просмотра ссылки Вам необходимо авторизоваться) Как видно из видео, ползунок остановился чуть левее, а круг начался как обычно снизу.
Т.е. тут привязка не к размеру переменной i, чтобы можно было использовать
 Цитата:
if(i>200)break;

Т.к. я делаю в визуальном редакторе, я бы хотел показать алгоритм
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Тут идет поиск изображения слова "натянуть" и "ослабить", и в зависимости от них тот или иной цикл.
А, увидел, что
 Цитата:
for (int j=i; j>0; j=j-5)

Сейчас попробую

Да, все работает. Спасибо большое

(Отредактировано автором: 01 Января, 2022 - 16:55:34)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 4 (гостей: 4, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by