619

Как рассчитать расстояние между двумя спрайтами

Прикрепленные файлы
Вложение Size
draw-line_c2.zip (200.69 КБ) 200.69 КБ

Вспоминал математику, а точнее геометрию, применительно к программированию в Construct 2. Хотел высчитать расстояние между двумя объектами/спрайтами, а также врагами и нарисовать линию, связывающую их.

Есть два спрайта - синий и красный круг, условно:

Расстояние между двумя спрайтами

Расстояние я посчитал просто по теореме Пифагора, где квадрат гипотенузы (в нашем случае это и есть расстояние) равен сумме квадратов катетов. Линию же я программно встроил через bg tiled. Весь код у меня уместился в несколько строчек:
код в construct

Красный спрайт можно перемещать (Drag'n'Drop). Расстояние будет автоматически высчитываться, а также вырисовываться линия, пример работы:

Прикрепил файлы-исходники примера. Можно скачать их (в начале поста) для констракта в сборке r226, не ниже smiley всем удачи!

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
Гость
21.02.19 - 15:28

Вполне работает и более сокращённый вариант: round(sqrt(((red.X-blue.X)^2)+((red.Y-blue.Y)^2)))

Гость
06.09.23 - 11:09

Функция distance же есть. Фейспалм)