<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Игра с кнопкой]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9017</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9017&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Игра с кнопкой».]]></description>
		<lastBuildDate>Tue, 17 Dec 2013 16:22:20 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Игра с кнопкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=78221#p78221</link>
			<description><![CDATA[<p>Думаю, что самый простенький пример, с &quot;гонением&quot; в одну сторону:<br /></p><div class="codebox"><pre><code>
Global r := 222
        , step := 12
        , angle := 225
        , hButton
        , IsEnable
 
CoordMode, Mouse, Client
OnMessage(0x200, &quot;WM_MOUSEMOVE&quot;)  
OnMessage(0x100, &quot;KEYDOWN&quot;), OnMessage(0x104, &quot;KEYDOWN&quot;)
OnMessage(0x101, &quot;KEYDOWN&quot;), OnMessage(0x105, &quot;KEYDOWN&quot;)
 
Gui, -DPIScale
Gui, Font, s22
Gui, Add, Button, vButton gButton hwndhButton w44 h44, % Chr(0x2639)
MoveCircle(angle) 
Gui, Show, w488 h488  
Return

KEYDOWN(w,l,m,h)   {  
    Static IsDown
    
    If ((m = 0x100 || m = 0x104) &amp;&amp; !IsDown ) 
        IsDown := 1  
    Else If (m = 0x101 || m = 0x105)
    {
        IsDown := 0 
        GuiControl, , Button, % (IsEnable := !IsEnable) ? Chr(0x263a) : Chr(0x2639) 
        ToolTip
    }  
} 

WM_MOUSEMOVE(w,l,m,h)   {  
    If (!IsEnable &amp;&amp; h = hButton) 
        UnderMouse() 
} 

UnderMouse()   {
    MouseGetPos, , , , hwnd, 2
    If (hwnd = hButton)
        MoveCircle(angle += step) 
}

MoveCircle(_angle) {    
    angle := _angle &gt; 360 ? Mod(_angle, 360) : _angle
    a := 0.0174532888888889 * angle
    GuiControl, Move, Button, % &quot;x&quot; Round(r+r*cos(a)) 
                                . &quot; y&quot; Round(r+r*sin(a))  
    UnderMouse() 
}

Button:
    If IsEnable
        ToolTip Button click 
    Return
</code></pre></div><p>Написано для собственного понимания получения координат на окружности, исходя из радиуса и градуса.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Tue, 17 Dec 2013 16:22:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=78221#p78221</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Игра с кнопкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=78111#p78111</link>
			<description><![CDATA[<p>Используйте команду <em>ControlMove</em> для сторонних приложений или <em>GUIControl, Move</em> для AutoHotkey GUI.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sat, 14 Dec 2013 14:22:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=78111#p78111</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Игра с кнопкой]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=78110#p78110</link>
			<description><![CDATA[<p>Может вы видели такие игры, к примеру &quot;поймай монету&quot;. Когда наводишь на эту монету мышкой и монета как бы убегает. В итоге её не поймать. Собственно мне нужно сделать такое с кнопкой.</p><p>Чтобы при наведении мышью на кнопку она меняла свои координаты по кругу, не давая нажать на неё. А если на клавиатуре нажать любую клавишу, то кнопка прекращает свои перемещения и становится доступной.</p>]]></description>
			<author><![CDATA[null@example.com (Qweasd123)]]></author>
			<pubDate>Sat, 14 Dec 2013 13:54:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=78110#p78110</guid>
		</item>
	</channel>
</rss>
