您的位置:首页 > 移动开发 > Unity3D

Unity 3D 动态创建对象,并渲染贴图,动态添加删除脚本

2014-01-17 17:17 706 查看
初学U3D,贵在坚持和总结,一来对平时的知识巩固,二来可以让自己思路更清晰!  希望与更多的U3D爱好者交流学习。

一、动态为对象添加渲染贴图:

[csharp] view
plaincopy

using UnityEngine;  

using System.Collections;  

  

public class NewBehaviourScript : MonoBehaviour {  

      

    GameObject obj;  

  

      

    void OnGUI()  

    {  

        if(GUILayout.Button("Add",GUILayout.Height(60),GUILayout.Width(110)))  

        {  

            //创建Cube对象   

            obj = GameObject.CreatePrimitive(PrimitiveType.Cube);  

            //移动至指定坐标   

            obj.transform.position = new Vector3(100,100,100);  

            //对象名称   

            obj.name = "Andy";  

            //材质渲染,(Texture)强制转换  

            obj.renderer.material.mainTexture = (Texture)Resources.Load("0");  

        }  

        if(GUILayout.Button("Del",GUILayout.Height(60),GUILayout.Width(110)))  

        {  

            //销毁对象   

            Destroy(obj);  

        }  

    }  

}  

二、添加和删除脚本:

1、首先创建两个脚本,命名为:“Main.cs”和"CubeScript";

2、然后新建一个Cube ;

3、打开CubeScript.cs脚本,添加代码,使Cube执行旋转操作;

 

[csharp] view
plaincopy

using UnityEngine;  

using System.Collections;  

  

public class CubeScript : MonoBehaviour   

{  

  

    void Start ()   

    {  

      

    }  

      

    void Update ()   

    {  

        //定义对象 y轴旋转   

        gameObject.transform.Rotate(new Vector3(0,6,0));  

    }  

}  

4、打开Main.cs脚本,写入代码如下:

[csharp] view
plaincopy

using UnityEngine;  

using System.Collections;  

  

public class Main : MonoBehaviour   

{  

      

    //定义全局游戏对象   

    GameObject obj;  

      

    void Start ()  

    {  

        //获取Cube组件   

        obj = GameObject.Find("Cube");  

    }  

      

      

      

    void OnGUI()   

    {  

        if(GUILayout.Button("Move"))  

            {  

                //为Cube对象添加CubeScript脚本   

                obj.AddComponent("CubeScript");  

            }  

        if(GUILayout.Button("ReMove"))  

            {  

                //必须先定义一个Object对象,获取Cube组件的对应脚本  

                Object Script = obj.GetComponent("CubeScript");  

                //销毁该脚本   

                Destroy(Script);  

            }  

    }  

  

      

    void Update ()   

    {  

          

    }  

}  

5、将Main.cs脚本,拖拽至摄像机;

 

效果可见:

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: