Author Topic: Предложение, мышите не мышите  (Read 3267 times)

0 Members and 1 Guest are viewing this topic.

Technic

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Предложение, мышите не мышите
« on: February 23, 2016, 09:16:45 AM »
Есть такое предложение, добавить функции:

MOUSEDOWN(num)-нажата кнопка мыши
MOUSEUP(num)-отпущена кнопка мыши
MOUSECLICK(num)-клик мышкой
num - номер клавиши 1,2,3.... т.е. левая, правая.....

Аналогично функциям клавиш ISKEYDOWN()
Для чего это надо? Ну скажем вот для чего, если экран(карта) работы статичный и вы заранее знаете координаты событий, которые вы ожидаете, то всё нормально. Но вот если динамичный и вы не можете предсказать в какой именно точке произойдёт событие, а вам нужно быстро среагировать на него, то тут эти функции будут полезны.
Пример:
Code: (clickermann) [Select]
DEFINE($Xs1)
DEFINE($Ys1)
DEFINE($Xs2)
DEFINE($Ys2)

SUB(Property_Mup)

WHILE(mouseup(1)=1) //Ловим отпускание кнопки мыши

 $Xs2 = $_xmouse //Записываем координат Х нижнего правого угла
 $Ys2 = $_ymouse //Записываем координат Y нижнего правого угла

END_CYC

END_SUB


if ( (iskeydown(#space)=1) & (mousedown(1)=1) )

$Xs1 = $_xmouse //Записываем координат Х верхнего левого угла
$Ys1 = $_ymouse //Записываем координат Y верхнего левого угла

Property_Mup() // Переходим для получения второй координаты

end_if

//Ну и можно потом хотя бы так
GETSCREEN ($Xs1, $Ys1, $Xs2, $Ys2)


Нажали на пробел, нажали на кнопку мыши, отпустили пробел, протянули нужную область экрана и отпустили кнопку мыши. И имеем выбранную прямоугольную область экрана, над которой можем работать.
Думаю этим функция найдутся и другие применения.

Кликермен

  • Активный участник
  • ***
  • Posts: 112
    • View Profile
Re: Предложение, мышите не мышите
« Reply #1 on: February 23, 2016, 11:38:32 AM »
конечно неплохо, но чем тебя неустраивает 
иф(искейдаун=1)
х=хмаус
 у=игрекмаус
енд_иф

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Предложение, мышите не мышите
« Reply #2 on: February 23, 2016, 08:47:52 PM »
Не успел запустить кликер и уже в предложения?

Вот то что ты хочешь и куда короче и изобретать ничего не нужно

Code: (clickermann) [Select]
WHILE(ISKEYDOWN(1)=0) // ждем когда нажмут левую кнопку мыши
   WAITMS(5)
END_CYC
$Xs1 = $_xmouse //Записываем координат Х верхнего левого угла
$Ys1 = $_ymouse //Записываем координат Y верхнего левого угла

WHILE(ISKEYDOWN(1)=1) // ждем когда отпустят левую кнопку мыши
   WAITMS(5)
END_CYC
$Xs2 = $_xmouse //Записываем координат Х нижнего правого угла
$Ys2 = $_ymouse //Записываем координат Y нижнего правого угла

//Ну и можно потом хотя бы так
GETSCREEN ($Xs1, $Ys1, $Xs2, $Ys2)
LOGWRITE ($Xs1,",",$Ys1," ",$Xs2,",",$Ys2) // в логе смотрим че получилось


HALT

Technic

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Предложение, мышите не мышите
« Reply #3 on: February 24, 2016, 01:25:22 AM »
Не успел запустить кликер и уже в предложения?

Вот то что ты хочешь и куда короче и изобретать ничего не нужно


Ну скажем запустил его давненько, до него другой юзал, буржуйский Advance Mouse And Key Record full.
А вот за то что носом ткнули, спасибо! Я что то в справке то и не заметил что уже всё это есть, просто искал в разделе мыши и не думал что реализация через код клавиш.
Ещё раз спасибо! Тема закрыта.