using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
public Color c1 = Color.yellow; //颜色参数
public Color c2 = Color.red;
public int lengthOfLineRenderer = 20; //线段参数
void Start() {
LineRenderer lineRenderer = gameObject.AddComponent<LineRenderer>(); //添加一个LineRenderer元件到游戏对象中
lineRenderer.material = new Material(Shader.Find("Particles/Additive")); //材质设置
lineRenderer.SetColors(c1, c2); //设置颜色
lineRenderer.SetWidth(0.2F, 0.2F); //设置线宽
lineRenderer.SetVertexCount(lengthOfLineRenderer); //设置最大的线段
}
void Update() {
LineRenderer lineRenderer = GetComponent<LineRenderer>(); //获取LineRenderer元件
int i = 0;
while (i < lengthOfLineRenderer) {
Vector3 pos = new Vector3(i * 0.5F, Mathf.Sin(i + Time.time), 0); //计算绘制点,这里绘制的是一条正弦曲线
lineRenderer.SetPosition(i, pos); //绘制曲线
i++;
}
}
}
function GetComponent (type : Type) : Component
描述
返回游戏对象(gameObject)中附着的元件的类型(component of Type),如果没有附着,则返回一个Null。你可以通过内建元件或者带有这个功能的脚本来访问。
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 GetComponent (type : string) : Component
描述
返回游戏对象(gameObject)中所附着的元件的名称(the component with name type),如果没有附着,则返回一个Null。
以为性能的缘故,最好使用GetComponent来获取元件类型,而不是元件名称。有时候,你可能不需要获取类型,比如当你试图从Javascript脚本中去访问C#脚本。这种情况下,你可以简单的通过名称访问元件,而不是通过类型。
示例:
using UnityEngine;
using System.Collections;
public class example : MonoBehaviour {
void Update() {
ScriptName other;
other = gameObject.GetComponent("ScriptName") as ScriptName;
other.DoSomething();
other.someVariable = 5;
}
}