Как найти позицию объекта в Godot Engine?

Пишу простую игру на GDScript, но не могу сделать одну вещь. Мне нужно узнать, когда объект окажется на определённой x-координате, и переставить на другую. Что-то по типу: if pos.x == 10: pos.x = -10 Что делать?


Ответы (1 шт):

Автор решения: xmurik
  1. прикрепляем скрипт к объекту.

  2. в скрипте добавить:

func check_for_position():
    if position.x <= 10:
        position = value #для резкого изменения позиции
        position = position.linear_interpolate(to, strength) #для постепенного изменения. to — до какой позиции, strength — шаг интерполяции, то есть за сколько шагов выполнять. принимает значения от 0 до 1, где 0 — не-изменение, 1 — изменение за один шаг.
  1. докинуть функцию в какую-нибудь виртуальную, что выполняется по умолчанию, например — process(), physics_process(). желательно в physics process, потому что затрагивает физическое свойство.
→ Ссылка