Название: Движение вражеского юнита в game maker 2 Отправлено: viti4 от Июнь 05, 2023, 20:07:40 Здраствуйте уважаемые форумчане. Столкнулся с такой проблемой и не могу её решить, т.к. недавно увлёкся созданием игрульки. Суть вопроса такова: Есть объект враг. необходимо реализовать следующее: есть путь созданный путь движения, если игрок приближается скажем на 100 пикселей, враг начинает следовать за ним огибая препятствия, если же игрок отдаляется более чем на 100, враг начинает следовать указанному пути с фактических координат. если попадаются препятствия при следовании по пути, враг не должен останавливаться, а должен двигаться в ту сторону, с которой нет препятствия, если это предусмотрено созданным путём!
что у меня получилось: 1 - в создании врага пишу: path_start(Path1,3,path_action_reverse,0) 2 - в шаге врага пишу: if(distance_to_object(ob_pers)<256) { path_end() mp_potential_step(ob_pers.x, ob_pers.y, 3,false); } ну и как вы поняли, после следования за игроком, если я убегаю дальше 256 пикселей, враг останавливается и не движется. Как мне добиться требуемого результата? на форуме поискал, не нашёл решения, может плохо искал) Название: Re: Движение вражеского юнита в game maker 2 Отправлено: AndrewVideoGames от Июнь 06, 2023, 10:37:01 У вас много условий, я бы предожил сделать стейтмашину, в которой будет определены все состояния и переходы из одного состояния в другое, что-то вроде:
Create :gm123: Код: (Create) state = "start"; Step :gm126:searchDistance = 100; chaseSpeed = 3; Код: (Step) switch(state) { case "start": path_start(Path1, 3, path_action_reverse, 0); state = "search"; break; case "search": if (distance_to_object(ob_pers) <= searchDistance) { path_end(); state = "chase"; } break; case "chase": if (distance_to_object(ob_pers) <= searchDistance) { mp_potential_step(ob_pers.x, ob_pers.y, chaseSpeed, false); } else { state = "start"; } break; } По поводу сгибания препятствий – вбейте в Поиск "обход препятствий", "обход объектов", "поиск пути", "путь пути по сетке". Название: Re: Движение вражеского юнита в game maker 2 Отправлено: viti4 от Июнь 06, 2023, 16:33:09 Спасибо за помощь))) буду пробовать) sm_good
|