Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » mousetransfer проблемы с 7ым и 8ым параметром

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

1. amp - 24 Мая, 2019 - 07:14:38 - перейти к сообщению
Доброго времени, такой незамысловатый кусочек кода для движения курсора мыши по спирали. Работает без нареканий, но когда пытаюсь завести параметр 7 и 8 в функцию mousetransfer для активации и привязки к определенному окну, возникает ошибка. Как быть?

CODE:
int x1=400, y1=300, x2, y2, a=1.4, r1=0, phi=0;;
win w_KIB;
int ex_KIB, ey_KIB, sum_KIB, x_KIB, y_KIB;
int sx_KIB, sy_KIB;

start_();

m_KIB0: if(r1<23)
{
x2=x1+((a/6.28)*phi*cos(phi));
y2=y1+((a/6.28)*phi*sin(phi));
mousetransfer(-1, x1, y1, x2, y2, 10, 1);
x1=x2;
y1=y2;
r1++;
phi=phi+57.2956;
}
goto m_KIB0;

function start_()
{
pause(1000);
int x, y;
getmouse(x, y);
w_KIB=getwindow(0, x, y);
ex_KIB=w_KIB.widthclient; ey_KIB=w_KIB.heightclient;
sx_KIB=w_KIB.leftclient; sy_KIB=w_KIB.topclient;
}
2. Zireael - 24 Мая, 2019 - 07:21:45 - перейти к сообщению
mousetransfer принимает 6 или 8 параметров, у вас 7.
 Цитата:
mousetransfer(LEFT, стартX, стартY, финишX, финишY, 0.02);
Первый параметр - какая кнопка. Может быть: LEFT, MIDDLE, RIGHT и -1. Если -1 , перемещать мышь не нажимая кнопки с заданной скоростью.
Второй и третий - экранные координаты зажатия кнопки и захвата.
Четвертый и пятый - экранные координаты куда тащить и где отпустить кнопку.
Шестой - дробное число. Скорость перетаскивания.

Так же возмажно вызвать эу функцию с 8 параметрами:
mousetransfer(LEFT, стартX, стартY, финишX, финишY, 0.02, 1, win wind);
Седьмой параметр - если 1 активировать окно, если 0 не активировать.
Восьмой - указатель на окно. Все координаты клиентские относительно окна wind.
Если восьмой параметр 0 или не найдено окно - экранные координаты.

 Цитата:
a=1.4

Переменная объявлена int, дробное число не запишется.
3. Kibor - 24 Мая, 2019 - 07:24:22 - перейти к сообщению
Используйте enablerealmouse
mousetransfer устарела.
4. amp - 24 Мая, 2019 - 07:39:05 - перейти к сообщению
 Zireael пишет:
mousetransfer принимает 6 или 8 параметров, у вас 7.

я по разному пробовал) ни с 7 ни с 8 не работает, про переменную спасибо - не заметил
(Добавление)
 Kibor пишет:
Используйте enablerealmouse
mousetransfer устарела.


Не могу найти описание функции, увидел в примерах.

if(r1<23)
{
x2=x1+((a/6.28)*phi*cos(phi));
y2=y1+((a/6.28)*phi*sin(phi));
enablerealmouse(1,0,0,0)
mousemove(x1,y1);
mousemove(x2,y2);
pause(0);
mouse(-1);
x1=x2;
y1=y2;
r1++;
phi=phi+57.2956;
}

Насколько я понимаю, конкретно для моего случая должно быть как то так. Но как привязаться к окну я все равно не понимаю. Координаты пользовательские. Как сделать относительно окна.
5. Kibor - 24 Мая, 2019 - 07:45:46 - перейти к сообщению
CODE:
win w=window ("Безымянный — Блокнот", "Notepad", -1);
mousetransfer(LEFT, 10, 10, 125, 100, 0.02, 1, w);

работает
(Добавление)
 amp пишет:
mouse(-1);

?
(Добавление)
CODE:
win w=window ("Безымянный — Блокнот", "Notepad", -1);
mousedown(LEFT, 10,10, 0, w);
enablerealmouse(1,0,0,0);
mouseup(LEFT, 125,100, 0, w);
6. amp - 24 Мая, 2019 - 07:51:11 - перейти к сообщению
 Kibor пишет:
работает

И в правду, мой косяк, что то с синтаксисом намудрил, спасибо!

Powered by ExBB FM 1.0 Final