代码生成游戏对象、设置对象属性、添加组件

1、利用代码生成游戏对象

  GameObject obj=GameObject.CreatePrimitive(PrimitiveType.Cube);

  参数为枚举类型,其中包含了几种可以生成的游戏对象

  

实例.1

  点击鼠标左键,每点击一次生成一个cube  

    float yPos = 0.5f;//第一个cube的位置
    //鼠标点击事件
    void OnMouseDown()
    {
        //创建一个游戏对象 参数:枚举类型,包含了几种可以生成的gameobject
        GameObject cubeObj = GameObject.CreatePrimitive(PrimitiveType.Cube);
        //对生成的游戏对象进行设置
 
        //位置
        cubeObj.transform.position = new Vector3(0,yPos,0);
        //没生成一个都沿着Y轴叠加
        yPos++;

        //贴图
        //加载贴图资源
        //加载Resource下Images下的文件名为1的文件资源,无需后缀名
        Texture cubeText = Resources.Load("Images/1") as Texture;
        cubeObj.renderer.material.mainTexture = cubeText;

    }

共点击了6次,生成了6个cube

 

2、对由代码生成的游戏对象添加组件

  生成的游戏对象.AddComponent();方法对生成的游戏对象添加组件

 

实例.2

  -在实例.1中添加一个Script组件,使生成的cube被点击后消失。

 

-销毁游戏对象代码,类名为 ClickDestroy

/// <summary>
/// 点击GameObject使其销毁
/// </summary>
public class ClickDestroy : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }

    //销毁被点击的GameObject
    void OnMouseDown()
    {
        GameObject.Destroy(gameObject);
    }

}

-生成cube的代码

    float yPos = 0.5f;//第一个cube的位置
    //鼠标点击事件
    void OnMouseDown()
    {
        //创建一个游戏对象 参数:枚举类型,包含了几种可以生成的gameobject
        GameObject cubeObj = GameObject.CreatePrimitive(PrimitiveType.Cube);
        //对生成的游戏对象进行设置

        //位置
        cubeObj.transform.position = new Vector3(0, yPos, 0);
        //没生成一个都沿着Y轴叠加
        yPos++;

        //贴图
        //加载贴图资源
        //加载Resource下Images下的文件名为1的文件资源,无需后缀名
        Texture cubeText = Resources.Load("Images/1") as Texture;
        cubeObj.renderer.material.mainTexture = cubeText;

        ///给生成的游戏对象添加组件。
        ///对代码生成的游戏对象不能使用拖拽方式添加组件,这类操作也可以用代码实现        
        
        //AddComponent方法参数有2个重载,一种参数为要添加的组件名称 另一种是添加的组件类型
        //cubeObj.AddComponent("ClickDestroy"); 
        cubeObj.AddComponent(typeof(ClickDestroy));

    }

 

 -点击了第3、6个cube使其消失

 

-添加了缸体组件后,点击第二个cube的效果

 

 

 

posted on 2013-11-23 11:06  幸运的总是我们  阅读(279)  评论(0)    收藏  举报

导航