Transform是一个类,用来描述物体的位置,大小,旋转等等信息。
transform是Transform类的对象,依附于每一个物体。也是当前游戏对象的一个组件(每个对象都会有这个组件).
Gameobject是一个类型,所有的游戏物件都是这个类型的对象。
gameobject是一个对象, 就跟java里面的this一样, 指的是这个脚本所附着的游戏物件
* gameobject.transform,是获取当前游戏对象的transform组件. 所以在start函数中 gameobject.transform 和this.transform,指向的都是同一个对象。即:gameobject.transform == this.transform == transform
* transform.gameobject:可以这么理解为:获取当前transform组件所在的gameobect
所以在start函数中()transform.gameobject == this.gameobject == gameobectgameobject.transform.parent:
Object.Instantiate
对 original 物体进行克隆,并返回这个克隆的新物体。
这个方法对物体进行克隆,就像在编辑器里直接对物体进行 Duplicate 即复制操作一样。如果你克隆的是一个 GameObject ,你可以选择性地设置它的 position 和 rotation(默认使用这个原始 GameObject 的 position 和 rotation)。如果你克隆的是一个 Component ,那么它所附属于的 GameObject 也会被克隆,并且同样的你可以选择性的设置它的属性。
当你克隆一个 GameObject 或者 Component 时,它的所有子物体以及组件也会被克隆,并且与元物体属性一致。
新的克隆出的物体默认是没有父级物体的,所以它不会是元物体的“sibling”即兄弟物体。然而,你仍然可以使用重载方法中的一种对新物体指定其父物体。如果指定了父物体,且同时没有指定 rotation 和 positon的话,元物体的 rotation 和 position 就将是新物体的局部 rotation 和 position(但若 instantiateInWorldSpace 为 true 的话,将会是新物体的世界 rotation 和 position。)
克隆物体后,你可以使用 GetComponent 方法来为克隆后的物体设置属性。