Author Topic: Надо переместить экран мышью  (Read 3006 times)

0 Members and 1 Guest are viewing this topic.

tekton

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Надо переместить экран мышью
« on: February 03, 2016, 03:43:17 PM »
Приветствую.
Такой вопрос.
Есть онлайн игра.
Карта больше чем размер окна в браузере.
Перемещаться можно зажимая левую кнопку мыши.
Пробовал сделать запись в кликере, получается  очень много такого: 
Code: [Select]
// RECORDED SCRIPT 03.02.2016
// BEGIN AT 15:35:00
waitms(1999)
move(555,126)
waitms(0)
  lDown(555,126)
waitms(6)
move(558,126)
waitms(14)
....

waitms(17)
move(589,135)
waitms(680)
  lUp(589,135)
waitms(379)
// deleted
waitms(7)
// deleted
waitms(282)
move(590,136)
waitms(66)
// deleted
// FINISH AT 15:28:32

Пробовал сделать через цикл  типа
Code: [Select]
DEFINE($a,100)
   lDown(530,100)
    FOR($a, $a <250)
         move(530,$a)
    END_CYC
lUp(589,135)

Но всеравно медлено. :(

Как можно решить эту проблему ?
 
И ещё несколько вопросов.

На карте есть сбор ресурсов.
Но если карту не двигать, координаты получаются  типа   500, - 75
Можно ли произвести клик если  координаты вне окна (отрицательны)?

И ещё вопрос.
Отсчёт координат идёт от окна.
Можно ли как то привязать клики к самой карте?
Например в начале сдвигаем карту в право и вниз, что бы получить   x=0  y=0 а потом уже от этого плясать?

И ещё.
Можно ли  программно  clickermann  привязывать  к нескольким окнам (например в другом браузере) ?
Например что б привязка была к активному в данный момент?
« Last Edit: February 03, 2016, 03:53:06 PM by tekton »

Кликермен

  • Активный участник
  • ***
  • Posts: 112
    • View Profile
Re: Надо переместить экран мышью
« Reply #1 on: February 03, 2016, 04:08:33 PM »
Quote
Но если карту не двигать, координаты получаются  типа   500, - 75
Можно ли произвести клик если  координаты вне окна (отрицательны)?
можно кликать в видимую часть экрана. как вы кликните в отрицательную, если там ниче нет? можно кликать бесконечно вправо и бесконечно вниз

Quote
Можно ли как то привязать клики к самой карте?
конечно можно.  не привязывайся к жестким координатам,  делай точки отсчета на карте. например, у тебя загрузилась игра, ты видишь центр карты. как ты узнаешь где у нее самая левая точка? и где самая права?  там есть какие то поля, границы. ок, ты загрузил карту, ты в центре. делаешь скрин небольших областей по центру,самое  справа, слева. двигаешь мышью поле и перемешаешься  влево,  проверяешь  насколько  ушла левая точка отсчета, если она в пределах видимости,  и ей далеко до правой границы экрана, то двигаешь дальше. как только остается расстояние между левой точкой и экраном  меньше  1/5 экрана, то делаешь повторную левую точку отсчета. так делаешь пока не до дойдешь до самой левой границы карты.
Quote
Можно ли  программно  clickermann  привязывать  к нескольким окнам (например в другом браузере) ?
Можно, (разные копии кликеров используй) но  зажатие мыши  здесь работает по другому, в привязке. окну нужно посылать системные команды
« Last Edit: February 03, 2016, 04:16:35 PM by Кликермен »

tekton

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Надо переместить экран мышью
« Reply #2 on: February 03, 2016, 05:07:45 PM »
Quote
Можно ли как то привязать клики к самой карте?
конечно можно.  не привязывайся к жестким координатам...
Например  карта у нас  1800x 1500    как привязать клик скажем к  1600x 1000
какие использовать для этого команды?
Если можно пример.

но  зажатие мыши  здесь работает по другому, в привязке. окну нужно посылать системные команды

Какие ?  Где почитать можно ?
« Last Edit: February 03, 2016, 05:12:50 PM by tekton »

tekton

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Надо переместить экран мышью
« Reply #3 on: February 04, 2016, 12:17:02 AM »
лазил по форуму, что то нашёл.

   
Quote
Code: [Select]
$WM_LBUTTONDOWN = 0x0201 // Левая кнопка мыши нажата.
    $WM_LBUTTONUP = 0x0202 // Левая кнопка мыши отпущена.
    $MK_LBUTTON = 0x0001 // Левая кнопка мыши находится в нажатом состоянии.
    $WM_MOUSEMOVE = 0x0200  // Мышь передвинута.
    $x1 = 1238 // Координата по X начало
    $y1 = 103 // Координата по Y
    $x2 = 1238 // Координата по X конец
    $y2 = 446 // Координата по Y
     
    wait(1)
    postmessage($_HWND, $WM_LBUTTONDOWN, $MK_LBUTTON, $x1 + ($y1*65536))
    wait(1)
    postmessage($_HWND, $WM_MOUSEMOVE, $MK_LBUTTON, $x2 + ($y2*65536))
    wait(1)
    postmessage($_HWND, $WM_LBUTTONUP, $MK_LBUTTON, $x2 + ($y2*65536))

Кликермен  про это ты говорил?  ;)

Кликермен

  • Активный участник
  • ***
  • Posts: 112
    • View Profile
Re: Надо переместить экран мышью
« Reply #4 on: February 04, 2016, 12:50:07 AM »
Да, про это. но я бы не стал с твом уровнем опыта делать привязку.потренируйся кодить пока без привязки)

tekton

  • Освоившийся
  • **
  • Posts: 29
    • View Profile
Re: Надо переместить экран мышью
« Reply #5 on: February 04, 2016, 11:17:01 AM »
Тоже не работает :(
Может с SWF файлами есть какая особенность ?