您的位置:首页 > 其它

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

2013-08-19 10:17 411 查看


/article/8208613.html

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

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 ()
{

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