Всем привет.На повестке дня(ночи?) такая проблема:
Есть массив из точек на карте,который потом используется для создания полигона.
Мне нужно,чтобы игроки,когда выходили за пределы границы полигона, возвращались обратно.
Сначала я решил задачу "в лоб" - каждую секунду сохранял позицию игрока,если он не в интерьере и в игровой зоне.Если он выходит за пределы границы полигона,то его возвращает на последние сохранившиеся координаты. Но как оказалось, через этот "барьер" легко пройти.
Возникла еще идея: когда игрок вышел из игровой зоны,то его телепортировать к ближайшей точке полигона.Но было бы не совсем разумно телепортировать игрока в то место,где он не был(т.к. точки полигона - это его вершины, а если,допустим, игрок вышел между двумя вершинами,то его телепортнет к ближайшей,т.е. там где его не было). И тут тогда еще один вопрос возникает: как узнать промежуточные точки полигона? Т.е точки прямой,которая соединяет две вершины полигона.
UPD: Только сейчас понял,что точки для полигона представлены только координатами X и Y(без Z). Поэтому мой вариант наверняка отметается,либо подключать ColAndreas или MapAndreas,что не очень хорошо. Поэтому жду идею)
Ну а если у вас есть более разумная идея,то рад буду ее услышать.