1 |
touch_current = 0; |
2 |
phn_down = false; |
3 |
phn_left = false; |
4 |
phn_up = false; |
5 |
phn_right = false; |
6 |
phn_downp = false; |
7 |
phn_leftp = false; |
8 |
phn_upp = false; |
9 |
phn_rightp = false; |
10 |
for (var i = 0; i < 4; i++) |
11 |
{ |
12 |
var mouse_xx = device_mouse_x_to_gui(i); |
13 |
var mouse_yy = device_mouse_y_to_gui(i); |
14 |
a_pressed = point_in_circle(mouse_xx, mouse_yy, mobile_a_xx, mobile_a_yy, button_radius) && device_mouse_check_button(i, mb_any); |
15 |
if (a_pressed && !noloop_a) |
16 |
{ |
17 |
noloop_a = i; |
18 |
keyboard_key_press(vk_enter); |
19 |
} |
20 |
if (!a_pressed && noloop_a == i) |
21 |
{ |
22 |
noloop_a = -1; |
23 |
keyboard_key_release(vk_enter); |
24 |
} |
25 |
if (a_pressed) |
26 |
break; |
27 |
} |
28 |
for (var i = 0; i < 4; i++) |
29 |
{ |
30 |
var mouse_xx = device_mouse_x_to_gui(i); |
31 |
var mouse_yy = device_mouse_y_to_gui(i); |
32 |
b_pressed = point_in_circle(mouse_xx, mouse_yy, mobile_b_xx, mobile_b_yy, button_radius) && device_mouse_check_button(i, mb_any); |
33 |
if (b_pressed && !noloop_b) |
34 |
{ |
35 |
noloop_b = i; |
36 |
keyboard_key_press(vk_shift); |
37 |
} |
38 |
if (!b_pressed && noloop_b == i) |
39 |
{ |
40 |
noloop_b = -1; |
41 |
keyboard_key_release(vk_shift); |
42 |
} |
43 |
if (b_pressed) |
44 |
break; |
45 |
} |
46 |
for (var i = 0; i < 4; i++) |
47 |
{ |
48 |
var mouse_xx = device_mouse_x_to_gui(i); |
49 |
var mouse_yy = device_mouse_y_to_gui(i); |
50 |
y_pressed = point_in_circle(mouse_xx, mouse_yy, mobile_a_xx, mobile_y_yy, button_radius) && device_mouse_check_button(i, mb_any); |
51 |
if (y_pressed && !noloop_y) |
52 |
{ |
53 |
noloop_y = i; |
54 |
keyboard_key_press(vk_control); |
55 |
} |
56 |
if (!y_pressed && noloop_y == i) |
57 |
{ |
58 |
noloop_y = -1; |
59 |
keyboard_key_release(vk_control); |
60 |
} |
61 |
if (y_pressed) |
62 |
break; |
63 |
} |
64 |
var stick_radius = sprite_get_width(spr_andrd_stick_base) * button_scale; |
65 |
for (var i = 0; i < 4; i++) |
66 |
{ |
67 |
var mouse_xx = device_mouse_x_to_gui(i); |
68 |
var mouse_yy = device_mouse_y_to_gui(i); |
69 |
if (mouse_xx <= 0 && device_mouse_check_button(i, mb_any) && stick_movement_active == false) |
70 |
{ |
71 |
mobile_stick_xx = mouse_xx; |
72 |
mobile_stick_yy = mouse_yy; |
73 |
stick_movement_active = true; |
74 |
} |
75 |
if (stick_movement_active == true) |
76 |
{ |
77 |
mobile_stick_dir = point_direction(mobile_stick_xx, mobile_stick_yy, mouse_xx, mouse_yy); |
78 |
mobile_stick_distance = clamp(point_distance(mobile_stick_xx, mobile_stick_yy, mouse_xx, mouse_yy), 0, sprite_get_width(spr_andrd_stick) * 0.5 * button_scale); |
79 |
stick_x_dist = lengthdir_x(mobile_stick_distance, mobile_stick_dir); |
80 |
stick_y_dist = lengthdir_y(mobile_stick_distance, mobile_stick_dir); |
81 |
if (!device_mouse_check_button(i, mb_any)) |
82 |
stick_movement_active = false; |
83 |
if (mobile_stick_xx < (-stick_radius * 0.5)) |
84 |
stick_alpha = lerp(stick_alpha, 1, 0.25); |
85 |
else |
86 |
stick_alpha = lerp(stick_alpha, 0.15, 0.25); |
87 |
if (mobile_stick_distance > (global.gamepad_deadzone * stick_radius)) |
88 |
{ |
89 |
var dgn = 20; |
90 |
if (mobile_stick_dir >= (45 - dgn) && mobile_stick_dir < (135 + dgn)) |
91 |
{ |
92 |
if (stick_noloop_v != 1) |
93 |
{ |
94 |
phn_upp = true; |
95 |
stick_noloop_v = 1; |
96 |
} |
97 |
phn_up = true; |
98 |
} |
99 |
if (mobile_stick_dir >= (135 - dgn) && mobile_stick_dir < (225 + dgn)) |
100 |
{ |
101 |
if (stick_noloop_h != 1) |
102 |
{ |
103 |
phn_leftp = true; |
104 |
stick_noloop_h = 1; |
105 |
} |
106 |
phn_left = true; |
107 |
} |
108 |
if (mobile_stick_dir >= (225 - dgn) && mobile_stick_dir < (315 + dgn)) |
109 |
{ |
110 |
if (stick_noloop_v != 2) |
111 |
{ |
112 |
phn_downp = true; |
113 |
stick_noloop_v = 2; |
114 |
} |
115 |
phn_down = true; |
116 |
} |
117 |
if ((mobile_stick_dir >= (315 - dgn) && mobile_stick_dir <= 360) || mobile_stick_dir < (45 + dgn)) |
118 |
{ |
119 |
if (stick_noloop_h != 2) |
120 |
{ |
121 |
phn_rightp = true; |
122 |
stick_noloop_h = 2; |
123 |
} |
124 |
phn_right = true; |
125 |
} |
126 |
} |
127 |
else |
128 |
{ |
129 |
stick_noloop_h = 0; |
130 |
stick_noloop_v = 0; |
131 |
} |
132 |
break; |
133 |
} |
134 |
else |
135 |
{ |
136 |
stick_x_dist = 0; |
137 |
stick_y_dist = 0; |
138 |
stick_alpha = lerp(stick_alpha, 0.25, 0.25); |
139 |
stick_noloop_h = 0; |
140 |
stick_noloop_v = 0; |
141 |
} |
142 |
} |