Как можно найти точку на середине расстояния между двумя другими?
Уже пробовал через простую математику, но из-за того, что координаты (0,0) находятся не в правом верхнем углу, а в центре карты, ничего не выходит.

Принятый ответ

pricoluwa, мб что-то неверно делаете? Это работает с обычной координатной плоскостью, кая используется в варе
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
15
7 лет назад
0
Через уравнение прямой, не? Вот же
0
9
7 лет назад
0
Так пробовал уже, но из-за отрицательных координат в трех четвертях все идет наперекосяк.
0
15
7 лет назад
Отредактирован EnergyFrost
0
pricoluwa, мб что-то неверно делаете? Это работает с обычной координатной плоскостью, кая используется в варе
Принятый ответ
0
9
7 лет назад
Отредактирован pricoluwa
0
Хорошо, я косоглазый. Там у меня юнит не создается а заменяется, а я точку через последнего созданного нахожу. Спасибо все равно.

Сижу тут, на бумаге черчу эту плоскость, вижу, что все сходится, а там не работает. Все-таки приятно находить ошибки и понимать насколько можно быть невнимательным.
2
11
7 лет назад
2
Найти расстояние между двумя точками, поделить на два, а потом задать новое расстояние от одной точке к другой, и выйдет середина.
2
23
7 лет назад
Отредактирован pro100master
2
pricoluwa, просто находиш оба точки и угол потом косинус и синуса
set x = Точка кастера
set y = Точка кастера
set xt = Цель выбраный
set yt = Цель выбраный
//Это узнать дистанция 
set dist = SquareRoot((xt - x) * (xt - x) + (yt - y) * (yt - y))
//Это угол направления
set rad = Atan2(yt - y, xt - x) 

// Делим дистанцию 2 меньше
set dist = dist * 0.5

// Устанавливаем новый точка х и y берут от кастера, обьект кто будет перемешен
call SetUnitX(обьект, x +  dist * Cos(rad))
call SetUnitY(обьект, y +  dist * Sin(rad))

// Я не проверял его так как быстро пример набросал
0
20
7 лет назад
0
pro100master:
а чем способ выше не подойдет?
Чтобы оставить комментарий, пожалуйста, войдите на сайт.