存档

2010年11月16日 的存档

LineRenderer例程注释

2010年11月16日 没有评论
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++;
        }
    }
}
分类: 游戏开发 标签:

GameObject.GetComponent

2010年11月16日 没有评论

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;
    }
}
分类: 游戏开发 标签: