Расстояние 2 точки в сетке с правилами [дубликат]

Буквально самый простой способ исправить NullReferenceExeption имеет два пути. Если у вас есть GameObject, например, с прикрепленным скриптом и переменной с именем rb (rigidbody), эта переменная начнет пустую, когда вы начнете игру. Вот почему вы получаете NullReferenceExeption, потому что на компьютере нет данных, хранящихся в этой переменной.

В качестве примера я буду использовать переменную RigidBody. Мы можем добавить данные действительно легко на самом деле несколькими способами:

  1. Добавить RigidBody к вашему объекту с помощью AddComponent> Физика> Rigidbody Затем зайдите в свой скрипт и введите rb = GetComponent<Rigidbody>();. Эта строка кода работает лучше всего под ваши функции Start() или Awake().
  2. Вы можете добавить компонент программно и назначить переменную одновременно с одной строкой кода: rb = AddComponent<RigidBody>();

Дальнейшие заметки: если вы хотите, чтобы единство добавлялось компонент для вашего объекта, и вы, возможно, забыли добавить его, вы можете ввести [RequireComponent(typeof(RigidBody))] над объявлением класса (пробел ниже всех ваших приложений). Наслаждайтесь и получайте удовольствие от игр!

9
задан Erik 22 November 2011 в 11:26
поделиться

1 ответ

Это скорее математический вопрос, но в любом случае Манхэттенское расстояние представляет собой сумму абсолютных значений горизонтального и вертикального расстояний

int distance = Math.abs(x1-x0) + Math.abs(y1-y0);

Дополнительная информация: http: // en .wikipedia.org / вики / Taxicab_geometry

34
ответ дан Otto Allmendinger 3 September 2018 в 13:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: