Для меня это звучит так, как будто вам придется выполнить тригонометрию, чтобы найти ближайший «узел». Каждый из них - по крайней мере, если вы хорошо программируете - должен быть объектом, чьи переменные местоположения x и y могут быть доступны из вашего скрипта.
Вы можете перебрать список собранных объектов и сравнить их к вашему текущему местоположению и сохраните объект во временной переменной, если это расстояние меньше, чем последний объект в массиве.
Вот некоторый псевдокод, который должен помочь проиллюстрировать мою точку зрения:
for item in array {
Object closestKnotDist = Null
Float currentKnotDist = math.sqrt((player.x-item.x)**2 + (player.y-item.y)**2)
if currentKnotDist < closestKnotDist {
closestKnotDist = currentKnotDist
}
}
Таким образом, closestKnotDist будет ближайшим объектом к игроку. Управляй им как хочешь.
Не уверен, что это ответило на твой вопрос, но не стесняйся добавить еще объяснение, если нет!