<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15075&amp;type=atom" />
	<updated>2019-12-11T17:16:55Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15075</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136806#p136806" />
			<content type="html"><![CDATA[<p><strong>imsialroma</strong>, команда PixelGetColor состоит из двух операций: взятия снимка экрана (времязатратная) и взятия значения пикселя из снимка. Вам нужно разнести эти операции, взять снимок один раз перед циклом, а внутри брать разные пиксели.<br /><a href="http://forum.script-coding.com/viewtopic.php?pid=133330#p133330">Подробнее тут.</a></p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2019-12-11T17:16:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136806#p136806</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136801#p136801" />
			<content type="html"><![CDATA[<p>Если каждый раз нужно в разных точках проверять цвет, тогда последний вариант не имеет смысла.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-12-11T15:17:09Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136801#p136801</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136793#p136793" />
			<content type="html"><![CDATA[<p>Возник еще небольшой вопрос.</p><div class="codebox"><pre><code>obj := [ {get_x: 17, get_y: 1040, clr: 0xe100ff, key: &quot;1&quot;}
       , {get_x: 25, get_y: 1040, clr: 0x0011ff, key: &quot;3&quot;} 
       , {get_x: 33, get_y: 1040, clr: 0x00ff02, key: &quot;3&quot;} ] </code></pre></div><p>Я сделал из get_x и get_y переменные и записывал в Loop </p><div class="codebox"><pre><code>PixelGetColor, Color, v.get_x, v.get_y</code></pre></div><p>.<br />Но сейчас они находятся перед for и так уже не работает, как это можно исправить?</p>]]></content>
			<author>
				<name><![CDATA[imsialroma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40080</uri>
			</author>
			<updated>2019-12-10T16:38:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136793#p136793</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136792#p136792" />
			<content type="html"><![CDATA[<p><strong>teadrinker, Phoenixxx_Czar</strong>, спасибо вам большое за решение!</p>]]></content>
			<author>
				<name><![CDATA[imsialroma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40080</uri>
			</author>
			<updated>2019-12-10T16:01:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136792#p136792</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136787#p136787" />
			<content type="html"><![CDATA[<p><strong>Phoenixxx_Czar</strong>, похоже вы правы, я что-то ступил слегка.<br /></p><div class="codebox"><pre><code>obj := [ {clr: 0xe100ff, key: &quot;1&quot;}
       , {clr: 0x0011ff, key: &quot;3&quot;}
       , {clr: 0x00ff02, key: &quot;3&quot;}
       , {clr: 0x00aeff, key: &quot;4&quot;}
       , {clr: 0x0004FF, key: &quot;8&quot;}
       , {clr: 0xff3a00, key: &quot;2&quot;}
       , {clr: 0x0004FF, key: &quot;g&quot;}
       , {clr: 0x00b3ff, key: &quot;v&quot;}
       , {clr: 0xff4100, key: &quot;7&quot;}
       , {clr: 0x00FF9C, key: &quot;F6&quot;}
       , {clr: 0x51FF00, key: &quot;F7&quot;} ]

Loop {
   PixelGetColor, Color, get_x, get_y
   for k, v in obj {
      if (Color = v.clr) {
         Send, % &quot;{&quot; . v.key . &quot;}&quot;
         break
      }
   }
   Sleep, 10
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-12-08T21:09:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136787#p136787</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136786#p136786" />
			<content type="html"><![CDATA[<p>Может получение цвета вынести перед for?</p>]]></content>
			<author>
				<name><![CDATA[Phoenixxx_Czar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34426</uri>
			</author>
			<updated>2019-12-08T19:50:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136786#p136786</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136785#p136785" />
			<content type="html"><![CDATA[<p>А в чём вопрос-то? Так и должно быть. На получение цвета требуется время.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-12-08T16:25:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136785#p136785</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136784#p136784" />
			<content type="html"><![CDATA[<p>Акутально. С каждым добавленным новым цветом, увеличивается задержка (стоит Sleep 10).</p>]]></content>
			<author>
				<name><![CDATA[imsialroma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40080</uri>
			</author>
			<updated>2019-12-08T16:08:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136784#p136784</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136744#p136744" />
			<content type="html"><![CDATA[<p>Sleep в любом случае столько, сколько написано, но не менее 10-15 мс.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-12-02T17:03:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136744#p136744</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136741#p136741" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Для 2ух цветов 30-60 мс и там сразу видно что Sleep, 10</p>]]></content>
			<author>
				<name><![CDATA[imsialroma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40080</uri>
			</author>
			<updated>2019-12-02T16:40:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136741#p136741</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136740#p136740" />
			<content type="html"><![CDATA[<p>Наверно, это нормально для 11 точек, у меня так же без нахождения цветов и посыла клавиш.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-12-02T16:22:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136740#p136740</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136739#p136739" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> 189-250 мс</p>]]></content>
			<author>
				<name><![CDATA[imsialroma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40080</uri>
			</author>
			<updated>2019-12-02T16:11:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136739#p136739</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136737#p136737" />
			<content type="html"><![CDATA[<p>Такого не может быть, проблема в чём-то другом. Сколько занимает времени весь цикл, можно так проверить:<br /></p><div class="codebox"><pre><code>Loop {
   start := A_TickCount
   for k, v in obj {
      PixelGetColor, Color, get_x, get_y
      if (Color = v.clr)
         Send, % &quot;{&quot; . v.key . &quot;}&quot;
   }
   Sleep, 10
   ToolTip % A_TickCount - start
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-12-02T15:22:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136737#p136737</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136736#p136736" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Спасибо, за решение, код стал более оптимизирован. Но, к сожалению, проблему это не решило. Такое ощущение что Sleep, 10 = Sleep, 100</p>]]></content>
			<author>
				<name><![CDATA[imsialroma]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40080</uri>
			</author>
			<updated>2019-12-02T15:03:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136736#p136736</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Медленно посылает нажатия клавиши (Loop, PixelGetColor).]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=136735#p136735" />
			<content type="html"><![CDATA[<p>Если всё, как вы описали, то так:<br /></p><div class="codebox"><pre><code>obj := [ {clr: 0xe100ff, key: &quot;1&quot;}
       , {clr: 0x0011ff, key: &quot;3&quot;}
       , {clr: 0x00ff02, key: &quot;3&quot;}
       , {clr: 0x00aeff, key: &quot;4&quot;}
       , {clr: 0x0004FF, key: &quot;8&quot;}
       , {clr: 0xff3a00, key: &quot;2&quot;}
       , {clr: 0x0004FF, key: &quot;g&quot;}
       , {clr: 0x00b3ff, key: &quot;v&quot;}
       , {clr: 0xff4100, key: &quot;7&quot;}
       , {clr: 0x00FF9C, key: &quot;F6&quot;}
       , {clr: 0x51FF00, key: &quot;F7&quot;} ]

Loop {
   for k, v in obj {
      PixelGetColor, Color, get_x, get_y
      if (Color = v.clr)
         Send, % &quot;{&quot; . v.key . &quot;}&quot;
   }
   Sleep, 10
}</code></pre></div><p>Но в начале ещё должно быть установлено <a href="https://www.autohotkey.com/docs/commands/CoordMode.htm">CoordMode</a> (чтобы задать, относительно чего координаты), а также, возможно, опция RGB в PixelGetColor (если цвета в RGB).</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2019-12-02T13:51:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=136735#p136735</id>
		</entry>
</feed>
