Mouse Event for Glob Left Button: if !instance_exists(o_joystick) // Если нет джостика {instance_create(mouse_x,mouse_y,o_joystick);}; // То создаём его
o_joystick
Create Event: maxdist = 40; // Максимальное расстояние от центра джостика instance_create(x,y,o_runner); // Создаём бегунок image_alpha = 0.5; // Делаем джойстик полупрозрачным
Step Event: dist = point_distance(x,y,mouse_x,mouse_y); // dist равна расстоянию до мыши
if dist > maxdist {dist = maxdist;}; // Проверка, чтобы dist не была больше максимального расстояния
if mouse_check_button(mb_left) // Если левая кнопка мыши зажата { direction = point_direction(x,y,mouse_x,mouse_y); // Джойстик "смотрит" на мышь o_player.speed = dist/5; // Скорость игрока равна расстоянию до мыши делённого на 5 o_player.direction = direction; // Направление игрока равно направлению джойстика };
if mouse_check_button_released(mb_left) // Если левая кнопка мыши отпущена { o_player.speed = 0; // Останавливаем игрока instance_destroy(); // Удалаем джойстик with (o_runner) // Обращаемся к бегунку {instance_destroy();}; // И удаляем его };
x = mouse_x; y = mouse_y; // Координаты равны координатам мыши
if x > xstart+lengthdir_x(o_joystick.dist,o_joystick.direction) || x < xstart+lengthdir_x(o_joystick.dist,o_joystick.direction) {x = xstart+lengthdir_x(o_joystick.dist,o_joystick.direction);}; if y > ystart+lengthdir_y(o_joystick.dist,o_joystick.direction) || y < ystart+lengthdir_y(o_joystick.dist,o_joystick.direction) {y = ystart+lengthdir_y(o_joystick.dist,o_joystick.direction);}; // Проверка, чтобы бегунок не уходил за пределы джостика
Проблема: Не знаю как привязать к своим спрайтам. как можно привязать анимации по таким направлениям?