GameObject.GetComponent 获取组件

function GetComponent (type : Type) : Component

Description描述

Returns the component of Type type if the game object has one attached, null if it doesn't. You can access both builtin components or scripts with this function.
如果这个游戏物体包含一个类型为type的组件,则返回它。如果没有则为空。通过这个函数,你可以访问内建的组件或者脚本的组件。

GetComponent is the primary way of accessing other components. From javascript the type of a script is always the name of the script as seen in the project view.
GetComponent是访问别的组件的原始方法,对javascript来说,脚本的类型就是项目视图里面看到的脚本名称。

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	void Start() {
		Transform curTransform;
		curTransform = gameObject.GetComponent<Transform>();
		curTransform = gameObject.transform;
	}
	void Update() {
		ScriptName other = gameObject.GetComponent<ScriptName>();
		other.DoSomething();
		other.someVariable = 5;
	}
}
function Start () {
	var curTransform : Transform;

	curTransform = gameObject.GetComponent(Transform);
	// 这里等同于:
	curTransform = gameObject.transform;
}

function Update () {
	// 为了访问附属于这个游戏物体的别的脚本里共有的变量很函数
	// (脚本名称是javascript文件的名称)
	var other : ScriptName = gameObject.GetComponent(ScriptName);
	// 调用这个脚本上的一个DoSomething函数
	other.DoSomething ();
	// 设置别的脚本实例上的另外一个变量
	other.someVariable = 5;
}

• function GetComponent (type : string) : Component

Description描述

Returns the component with name type if the game object has one attached, null if it doesn't.

如果游戏物体有一个附加组件,则返回名为type的组件,如果没有则为空。

It is better to use GetComponent with a Type instead of a string for performance reasons. Sometimes you might not be able to get to the type however, for example when trying to access a C# script from Javascript. In that case you can simply access the component by name instead of type. Example:

由于性能原因,最好使用Type的GetComponent,而不是用字符串。不过有时你可能无法得到Type,例如当你从Javascript访问C#脚本时,这个时候你可以简单通过名字而不是type来访问组件。例如:

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
	void Update() {
		ScriptName other;
		other = gameObject.GetComponent("ScriptName") as ScriptName;
		other.DoSomething();
		other.someVariable = 5;
	}
}
function Update () {
	// To access public variables and functions
	// in another script attached to the same game object.
	// (ScriptName is the name of the javascript file)
	//在另一个脚本附加相同的游戏物体,访问公共变量和函数
	//(ScriptName是javascript的文件名)
	var other : ScriptName;
	other = gameObject.GetComponent("ScriptName");
	// Call the function DoSomething on the script
	//调用函数做一些事情
	other.DoSomething ();
	// set another variable in the other script instance
	//设置在other脚本实例的另一个变量
	other.someVariable = 5;
}
最后修改:2010年12月13日 Monday 17:44

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。