zoukankan      html  css  js  c++  java
  • < 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脚本,拖拽至摄像机;

    效果可见:

     

  • 相关阅读:
    yum下载安装mysql服务
    windows编写sh脚本在linux上不能执行
    ectouch第二讲之 文件结构
    ecshop第一讲之安装
    class id 区别
    thinkphp模板中截取中文字符串的方法分享
    CI 配置验证规则
    CodeIgniter配置之config
    codeigniter中base_url和site_url
    使用phpmyadmin导入SQL数据报错:#1062
  • 原文地址:https://www.cnblogs.com/Terrain/p/3276621.html
Copyright © 2011-2022 走看看