添加组件与修改组件

新建的游戏对象本身不具备任何属性,因此没有任何功能作用。为了让它具备一些功能,就必须给它添加游戏组件。
常用的组件有物理类、风格类、粒子类等。
添加游戏组件时,需要使用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为材质的主要贴图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值