Определить цвет курсора мыши

Аватара пользователя
Frost_Imp

Re: Определить цвет курсора мыши

Сообщение Frost_Imp »

MouseGetCursor ( ) возвращает 0, то есть

Возвращаемое значение

Один и следующих идентификаторов ID Number:

0 = UNKNOWN
Вложения

[Расширение jpg было запрещено, вложение больше недоступно.]

[Расширение jpg было запрещено, вложение больше недоступно.]

Аватара пользователя
Creat0R

Re: Определить цвет курсора мыши

Сообщение Creat0R »

Frost_Imp,

Примерно так:





Код:

Код: Выделить всё

While 1
    $aMousePos = MouseGetPos()
    $nColor = "0x" & Hex(PixelGetColor($aMousePos[0], $aMousePos[1]), 6)
    If $nColor = 0x343924 Then
        MsgBox(64, 'Title', "Cursor changed")
        ;do something
    EndIf
    Sleep(10)
WEnd

Тут в цикле проверяем цвет пикселя под курсором, если совпадает, то выводим сообщение. Таким же способом можно указать целую палитру цветов, чтобы определить что курсор над нужным элементом (предметом).
Аватара пользователя
Frost_Imp

Re: Определить цвет курсора мыши

Сообщение Frost_Imp »

Ну тут получается скорее поиск цвета, нежели изменение самого цвета курсора. Тогда проще PixelSearch делать, там то участие человека не нужно, в твоем коде мышкой надо самостоятельно водить. Или MouseMove делать. Как решение глобальной задачи - реализуемо, уже проверил и протестил. Но вот конкретный вопрос (изменение цвета курсора) не решает
Аватара пользователя
SyDr

Re: Определить цвет курсора мыши

Сообщение SyDr »

1) Обрати внимание, что положение курсора в игре может отличаться от реального положения курсора на экране. То есть к примеру реальное положение курсора на экране - (100;200), а с виду "кажется", что он находится в координатах (200;250).

2) Курсор могут "перекрывать" различные игровые элементы. Ну... То есть немного менять его цвет. Или, к примеру, отображение какой-либо подсказки на экране может его вообще перекрыть.

3) PixelGetColor($aMousePos[0], $aMousePos[1]) получит цвет пиксела под реальным курсором. Попробуй добавить к координатам по 1 или больше (см. п. 1), чтобы получить цвет именно нужного пиксела.
Ответить

Вернуться в «AutoIt»