Ещё нагляднее по моему задавать вектор в градусах.
Если в шапке имелось ввиду 0.6 к 1, то это где то 153°.
Правда у меня тут вместо тригонометрии, снова огород, если кто разбирается, хорошо бы если поправил.
; Angle - градусы от 0 до 360
Angle := 153
Angle := !Angle ? 360 : Angle
S := Ceil(Angle / 45)
D := Mod(Angle, 45) ? S : 0
sX := D ? [1,1,1,1,-1,-1,-1,-1][S] : [1,1,1,0,-1,-1,-1,0][S]
sY := D ? [-1,-1,1,1,1,1,-1,-1][S] : [-1,0,1,1,1,0,-1,-1][S]
V := D ? ["X","Y","Y","X","X","Y","Y","X"][S] : ""
X := V = "X" ? 0 : sX, Y := V = "Y" ? 0 : sY
Ratio := Mod(S, 2) ? 45 / Mod(Angle, 45) : 45 / (45 - Mod(Angle, 45))
1::
While GetKeyState("1","P")
{
If (D && !(%V% := 0) && Mod(A_Index, Ratio) < 1)
%V% := s%V%
DllCall("mouse_event", uint, 1, int, X, int, Y, uint, 0, int, 0)
Sleep, 1
}
Return
По вопросам возмездной помощи пишите на
E-Mail: serzh82saratov@mail.ru Telegram:
https://t.me/sergiol982Win10x64
AhkSpy,
Hotkey,
ClockGui