新创建的游戏对象,本身是不具备任何特性的。为了让它具备一些功能,就得给其添加游戏组件。常见的游戏组件有:脚本,网格,粒子,声音,渲染等。这篇回顾下怎么在代码中添加与修改游戏组件。
添加游戏组件的时候,可以使用addcomponent( )方法。由于组件自身没有对应的删除方法,需要使用父类执行object.destroy()方法来删除,如果是删除某一游戏对象,会将其所有组件一并删除。
下面有一个简单的例子,运行后,点击添加颜色按钮或者添加贴图按钮,将为qi添加颜色材质和贴图材质。
例:
//游戏对象
private var obj : GameObject;
//渲染器
private var render : Renderer;
//贴图
public var texture : Texture;
function Start()
{
//获取游戏对象
obj = GameObject.Find("Cube");
//给当前对象添加一个脚本组件
obj.AddComponent("Test");
//获取该对象的渲染器
render = obj.GetComponent("Renderer");
}
function OnGUI()
{
if(GUILayout.Button("添加颜色",GUILayout.Width(100),GUILayout.Height(50)))
{
//修改渲染颜色为绿色
render.material.color = Color.green;
//避免残留将贴图置空
render.material.mainTexture = null;
}
if(GUILayout.Button("添加贴图",GUILayout.Width(100),GUILayout.Height(50)))
{
//避免残留将贴图置空
render.material=null;
//添加组件贴图
render.material.mainTexture = texture;
}
}
function Update () {
}
test.js代码如下:
function Start()
{
Debug.Log("Start");
}
function Update ()
{
}
运行:
点击添加颜色
点击添加贴图
render.material引用为当前脚本绑定对象的材质,直接为其赋值即可修改对象材质。
render.material.color引用为材质的颜色。
render.material.mainTexture引用为材质的贴图。