Я хочу полностью понять, что означает () .velocity после <Rigidbody> - PullRequest
0 голосов
/ 13 июня 2018
rightBat.GetComponent<Rigidbody>().velocity = new Vector3(0f, 8f, 0f);

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Вы можете попытаться взглянуть на вышеприведенное выражение следующим образом

((rightBat).GetComponent<Rigidbody>()).velocity = foo;

или, используя разные разделители (это не правильно, но может быть яснее визуально)

[1]rightBat.[2]GetComponent<Rigidbody>()[3].velocity =[4] new Vector3();

[1] - это ваш объект (gameObject или другой компонент)

[2] - это метод (с общим синтаксисом, поэтому безумие <> ())

[3] - установщик свойств [4] является значением

0 голосов
/ 13 июня 2018

Ну, rightBat.GetComponent<T>() - это обобщенный метод, возвращающий переданный ему компонент.В этом случае этот компонент Rigidbody.После этого вы устанавливаете для свойства velocity новое Vector.

. Вы также можете использовать

Rigidbody foo = rightBat.GetComponent<Rigidbody>();
foo.velocity = new Vector(0f, 8f, 0f);

, но в вашем случае нет необходимости создаватьвременная переменная foo и поэтому лучше назвать ее как

rightBat.GetComponent<Rigidbody>().velocity = new Vector(0f, 8f, 0f);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...