添加组件与修改组件

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/moonlightwalk/article/details/52693368

新建的游戏对象本身不具备任何属性,因此没有任何功能作用。为了让它具备一些功能,就必须给它添加游戏组件。
常用的组件有物理类、风格类、粒子类等。
添加游戏组件时,需要使用AddComponent()方法。而删除组件时需要使用Object.Destroy()方法,参数为需要删除的游戏对象或游戏组件。如果删除的是某一游戏对象,对象中的所有组件都会被一并删除。

using UnityEngine;
using System.Collections;

public class AddAndModifyComponent : MonoBehaviour {

    public Texture texture;
    private GameObject obj;
    private Renderer render;

    void Start () {
        // 获取游戏对象
        obj = GameObject.Find("Cube");
        // 获取该对象的渲染器
        render = obj.GetComponent<Renderer>();
    }

    void OnGUI () {
        if(GUILayout.Button("添加颜色",GUILayout.Width(100),GUILayout.Height(50)))
        {
            //修改渲染颜色为红色
            render.material.color = Color.red;
        }
        if(GUILayout.Button("添加贴图",GUILayout.Width(100),GUILayout.Height(50)))
        {
            // 添加组件贴图
            render.material.mainTexture = texture;
        }

        // 
        if(GUILayout.Button("销毁对象",GUILayout.Width(100),GUILayout.Height(50)))
        {
            // 销毁对象
            Object.Destroy(render);
        }
    }
}

上述代码中,render.material引用当前脚本绑定对象的材质,直接为其赋值即可修改对象材质。
render.material.color为材质的颜色,
render.material.mainTexture为材质的主要贴图。

展开阅读全文

没有更多推荐了,返回首页