В ролях единство 3d - PullRequest
       18

В ролях единство 3d

0 голосов
/ 20 октября 2019

Это фрагмент кода, который я нашел в интернете

public List<Piece> ramps = new List<Piece>();


1  Gameobject go;
2  go = ramps[visualIndex].gameObject

Я хочу знать, почему автор поставил «.gameObject» в конце строки 2. Это другой тип приведения? Спасибо

Ответы [ 2 ]

1 голос
/ 20 октября 2019

Piece, скорее всего, пользовательский компонент, унаследованный от MonoBehaviour.

ramps[visualIndex] будет извлекать ссылку на компонент Piece.

go объявлен как GameObject , поэтому при вызове ramps[visualIndex].gameObject будет получен объект gameObject, к которому прикреплен компонент.

https://docs.unity3d.com/ScriptReference/Component-gameObject.html

Здесь не задействовано приведение.

1 голос
/ 20 октября 2019

Gameobject go;Эта переменная объявлена ​​как тип GameObject. Вы можете получить GameObject, связанный с любым типом скриптовой переменной. В этом случае переменная Piece, ramps [visualIndex].

...