Добрый день. Вы пытаетесь передать изображение в точку, это недопустимо. Вместо Battle нужно передавать координаты. Например так
Point это обертка над 2 числами, которые представляют из себя координаты пикселя. Почти всегда можно обойтись и без неё. В примере ниже 2 строки вернут один и тот же результат.
Код: Выделить всё
int color = getColor(somePointName);
int color2 = getColor(123, 456);
Но гораздо удобнее использовать слова-названия переменных оберток, чем держать в голове координаты каждой точки в виде чисел.
Чтоб получить значения, которые хранит в себе обертка, нужно обратиться к переменным х и у этой точки. Делается это так
Код: Выделить всё
int x = somePointName.x;
int y = somePointName.y;
То есть [название обёртки-переменной точка имя переменной] в которой хранится соответствующее значение.
Что такое переменная можно почитать в руководстве пользователя по
ссылке
Таким образом вызовы функции нажатия
Код: Выделить всё
click(somePointName);
sleep(1000);
click(somePointName.x, somePointName.y);
sleep(1000);
click(123, 456);
Будут нажимать в одну и ту же точку.
Но есть также функции, которые принимают изображение и возвращают точку в зависимости от результата. Например функция поиска изображения на экране.
Код: Выделить всё
Image Battle = Image.load("Battle");
startScreenCapture(2);
sleep(1000);
Point battleButtonPoint = findImg(Battle);
if(battleButtonPoint.x > -1){
log("координаты точки верхнего левого угла изображения: x-" + battleButtonPoint.x + " y-" + battleButtonPoint.y);
}else{
log("изображение не найдено");
}
То есть, если изображение найдено автокликером, он возвращает координаты левого верхнего угла данного изображения, если не найдено он возвращает точку с координатами -1, -1
Больше функций для работы с изображением и их описание найдете в соответствующем разделе руководства.
ПС пишу "с головы" поэтому в примерах могут быть опечатки.