组件属于游戏对象,由于所有的脚本都是组件,因此一般的脚本都可以附加到游戏对象上。
常用的组件可以通过简单的成员变量取得
组件 | 变量 |
---|---|
Transform | transform |
Renderer | renderer |
Light | collider |
Rigidbody | rigidbody |
Camera | Camera(只有摄像机对象有效) |
Animation | animation |
这里的组件体现在属性面板上,而变量是在脚本中体现的。
在Unity中,附加到游戏对象上的组件可以通过GetComponent方法获得,具体可以如此使用
沿x轴正方向移动1个单位
void Update () {
transform.Translate(1*Time.deltaTime, 0, 0);
GetComponent<Transform>().Translate(1 * Time.deltaTime, 0, 0);
}
transform是变量,Transform是类或脚本。大小写不同可使开发人员能够从类和脚本名中区分变量。
同样也可以通过GetComponent方法获取其他脚本。例如
已有一个HelloWorld类,并且类中有一个**sayHello()**方法
void Update () {
HelloWorld helloWorld=GetComponent<HelloWorld>();//获取HelloWorld脚本脚本
helloWorld.sayHello();//执行sayHello方法
}
如何要在脚本中只执行一次可以在Start和Awake中