Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - sibas

Pages: [1]
1
Общие вопросы / Re: Цвета пикселей
« on: March 22, 2015, 10:18:03 AM »
На счет области getscreen я в курсе приводил пример и поэтому везде нули написал, не думал что вы этому предадите значение. Про pxlxor и pxlcrc читал, но думаю что это не то так как там какие то суммы цветов в некое число, а мне нужен просто список номеров цветов каждого пикселя в прямоугольной области, например в области от 0,0 до 5,5 почти все разного цвета пиксели (например картинка там какая нибудь) и мне нужен список из 25 номеров цветов а не их сумма.
1. 35732169
2. 865316853
3. 255.... и тд
и желательно без повторений. Кстати интересно, а if_pixel_in если я укажу много цветов будет со всеми цветами сравнивать  или как только первый совпадет то дальше уже прервет поиск?

2
Общие вопросы / Цвета пикселей
« on: March 22, 2015, 07:27:44 AM »
Как записать в .ini файл все цвета находящиеся в прямоугольной области экрана?
А то PXL записывает цвет только одного пикселя
Quote
$col_l = INIREAD("conf_mg2.ini", "col_l")

IF($col_a="")
   $mr = dialogbox("Цвета записаны", 1)
   IF($mr = 2)
      halt
   END_IF
   GETSCREEN(0,0,0,0)
   $col_l=PXL(0,0)
   INIWRITE("conf_mg2.ini", "col_l", $col_l)
END_IF

3
Общие вопросы / Re: про Thread
« on: March 22, 2015, 07:02:29 AM »
Создавай очередь из шаров. Попал шар в зону определения - запиши в массив время прихода. Попал новый - его время в очередь.
А другой цикл проверяет очереди и если одно из значений вышло жмакаем.
Только мне кажется у них скорость движения может измениться. Как подстраивать будешь?
И почему 3 сек? Сделай белую область перед самой красной. Там нажатия вроде уже засчитывают.
Ида, а как ты собираешься удерживать длинные... шары? :)
Я в массивах вообще ноль( если вам не трудно натолкните меня. Скорость шаров не меняется, 3 секунды потому что если дальше ловить if_pixel_in, там на заднем фоне много цветов и этих и других, поэтому минимум нужно на таком расстоянии

4
Общие вопросы / про Thread
« on: March 21, 2015, 09:03:28 AM »
Снова Здравствуйте! У меня возник такой вопрос - объясняю по рисунку ниже: Зеленые кружочки с определенной скоростью движутся вправо до конца, на пути у них белый квадрат при попадании на который срабатывает if_pixel_in и через 3 секунды должна нажаться  кнопка Q, потому-что чтобы кружочку добраться от белого до черного квадрата нужно 3 секунды, и thread еще не закончил свою работу но на белый квадрат наступил еще один кружочек и получается что он из за этого не нажмётся. Вопрос в этом и заключается, как мне это сделать? Есть догадки засунуть thread в thread но тут я путаюсь или засунуть getscreen в отдельный thread(если так можно) будут ли последующие потоки с if_pixel_in использовать обновленный getscreen из другого потока? Или же подскажите свою версию как это реализовать
Code: [Select]
WHILE(1)
GETSCREEN(617,670, 802,682)
SetThread (thr_q, 1)
END_CYC

THREAD(thr_q,0)
IF_PIXEL_IN(618,671, 647,681, 566784)
wait(3)                                   // 3 sec
KEYDOWN(#q)
waitms(10)
KEYUP(#q)

SetThread (thr_q, 0)
END_THREAD

Pages: [1]