|
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.
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. Example:
function Start () {
var curTransform : Transform;
curTransform = gameObject.GetComponent(Transform);
// This is equivalent to:
curTransform = gameObject.transform;
}
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)
var other : ScriptName = gameObject.GetComponent(ScriptName);
// Call the function DoSomething on the script
other.DoSomething ();
// set another variable in the other script instance
other.someVariable = 5;
}
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;
}
}
import UnityEngine
import System.Collections
class example(MonoBehaviour):
def Start():
curTransform as Transform
curTransform = gameObject.GetComponent[of Transform]()
curTransform = gameObject.transform
def Update():
other as ScriptName = gameObject.GetComponent[of ScriptName]()
other.DoSomething()
other.someVariable = 5
Generic version. See the Generic Functions page for more details.
Returns the component with name type if the game object has one attached, null if it doesn't.
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:
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)
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.someVariable = 5;
}
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void Update() {
ScriptName other;
other = gameObject.GetComponent("ScriptName") as ScriptName;
other.DoSomething();
other.someVariable = 5;
}
}
import UnityEngine
import System.Collections
class example(MonoBehaviour):
def Update():
other as ScriptName
other = (gameObject.GetComponent('ScriptName') as ScriptName)
other.DoSomething()
other.someVariable = 5