@Default_Nickname

Почему пишется new Vector2, а не просто Vector2?

почему надо писать именно transform.position = new Vector2(transform.position.x, transform.position.y), а не transform.position = Vector2(transform.position.x, transform.position.y)?

просто интересно, я писал всегда так. но не задумывался почему, кто-нибудь может объяснить, почему так пишется?

вернее почему надо создавать новый вектор?
  • Вопрос задан
  • 389 просмотров
Решения вопроса 1
Потому что такой вот C#.
Чтобы поменять значение transform.position - тебе нужен новый экземпляр Vector2.
Чтобы создать новый экземпляр чего угодно в C# тебе нужно писать new.
Исключение - фабричные методы/свойства, которые сделают new вместо тебя.
Например, в случае Vector2 он мог бы выглядеть так: var newVector = Vector2.Create(x, y), но такого метода по понятным причинам нет, ибо он просто сразу будет вызывать конструктор
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@NIKROTOS
Начинающий программист.
Ключевое слово new вызывает конструктор, соответствующий шаблону(количеству и типу входных параметров). Советую пройти курс сололеарн по шарпам, что-бы хотя-бы примерно понимать, что происходит)
Ответ написан
Adler_lug
@Adler_lug
Потому что, перед тем как лезть в Unity нужно хотя бы учебник по основам C# полистать, в частности про ООП...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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