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

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

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

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执行旋转操作;

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脚本,写入代码如下:

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脚本,拖拽至摄像机;

效果可见:

 

原文地址:https://www.cnblogs.com/Terrain/p/3276621.html