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

    效果可见:

     

  • 相关阅读:
    mybatis
    Enumeration接口
    oracle undo 解析(转载收藏)
    Windows下RabbitMQ的安装
    Aliyun服务器安装Docker
    Redis主从复制、哨兵模式
    Redis持久化-AOF
    Redis持久化-RDB
    Nginx快速上手
    有关Eureka的其他重点配置
  • 原文地址:https://www.cnblogs.com/Terrain/p/3276621.html
Copyright © 2020-2023  润新知