Unity3d 常用的方法

1、创建物体

2、加载物体

3、寻找物体

4、添加脚本

1、创建物体

  GameObject go;
    // Use this for initialization
    void Start () {
        go = new GameObject("New");
    }

find 方法查找对应的组件(找到第一个匹配的组件)

  GameObject go;
    GameObject goLight;
    Light light;
    // Use this for initialization
    void Start () {
        go = new GameObject("New");
        goLight = GameObject.Find("Directional Light");//页面组件
        light = goLight.GetComponent<Light>();
        light.color = Color.red;
    }

两个灯光

    GameObject go;
    GameObject goLight;
    GameObject goLight2;
    Light light1;
    Light light2;
    // Use this for initialization
    void Start () {
        go = new GameObject("New");
        goLight = GameObject.Find("1/2/DirectionalLight");
        light1 = goLight.GetComponent<Light>();
        light1.color = Color.red;

        goLight2 = GameObject.Find("1 (1)/2/DirectionalLight");
        light2 = goLight2.GetComponent<Light>();
        light2.color = Color.green;
    }

第二种写法(两个灯光)

    public Transform transRoot;

    Transform translight1;
    Transform translight2;

    // Use this for initialization
    void Start () {

        FindChild(transRoot,"RLight",ref translight1);
        FindChild(transRoot, "GLight", ref translight2);
        translight1.GetComponent<Light>().color = Color.red;
        translight2.GetComponent<Light>().color = Color.green;
    }

    /// <summary>
    /// 寻找物体
    /// </summary>
    /// <param name="trans">作为父物体的transform</param>
    /// <param name="findName">寻找的物体名称</param>
    /// <param name="_trans">找到的物体</param>
    void FindChild(Transform trans,string findName,ref Transform _trans)
    {
        if (trans.name.Equals(findName))
        {
            _trans = trans.transform;
            return;
        }

        if (trans.childCount!=0)
        {
            for (int i = 0,lenght=trans.childCount; i < lenght; i++)
            {
                FindChild(trans.GetChild(i),findName,ref _trans);
            }
        }
    }
时间: 2024-10-07 04:14:03

Unity3d 常用的方法的相关文章

Unity3D常用插件下载及使用方法

临近年假,好不容易有时间歇歇,偶然看到一个视频教程讲的是PlayMaker,本着认真学习的态度去Asset Store下载,结果收费,于是果断去度娘下载免费版,结果看到一篇文章讲的是Unity3D常用插件,网址:http://jingyan.baidu.com/article/7f766daf4ef2844100e1d079.html ,想想自己也有小半年unity经验了,于是整理了一下自己用过的插件并附上下载地址. 1. NGUI,这个不用多说,上官网:http://www.tasharen.

VC的常用调试方法

前言 VS是非常强大的IDE,所以掌握VSVC的常用方法,将会使得我们找出问题解决问题事半功倍. 目录 VSVC的常用调试方法 前言 1. Watch窗口查看伪变量 2. 查看指针指向的一序列值 3. 内存泄露查找 4. 调试Release版本 5. 远程调试 6. 函数断点 7. 数据断点. 8. 代码执行时间 9. 格式化数据 10. 格式化内存 Watch窗口查看伪变量 按MSDN的介绍,伪变量就是用来查看特定信息的术语.例如当调用的API失败时,可以用GetLastError获取对应的错

NSDictionary的初始化和一些常用的方法总结

NSDictionary //初始化1. NSDictionary *dic11=[[NSDictionary alloc] initWithObjects:@[@"qwe",@"asd",@"zxc",@"qaz",@"wsx"] forKeys:@[@"111",@"222",@"333",@"444",@"555

LINQ常用扩展方法

下面的方法都是IEnumerable<T>的扩展方法: Average计算平均值: Min最小元素:Max最大元素:Sum元素总和: Count元素数量: Concat连接两个序列://Unoin all Contains序列是否包含指定元素: Distinct取得序列中的非重复元素: Except获得两个序列的差集: Intersect获得两个序列的交集: First取得序列第一个元素: Single取得序列的唯一一个元素,如果元素个数不是1个,则报错:!!!严谨的程序. FirstOrDe

黑马程序员_学习IOS之字典常用的方法

字典是无序的 数组是有序的.字典分为:可变字典和不可变字典  不可变字典对象 NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil]; //value = ke

SqlServer 常用分页方法总结

SqlServer 常用分页方法总结 下面示例总结了,SqlServer数据库 常用分页方法,仅供学习参考 A. 使用 RowNumber 和 Between And 组合分页: /********** 使用 RowNumber 和 Between And 组合分页 **********/ CREATE PROC proc_FuzzySearchAndPaging @pageIndex int, --页索引 @pageSize int, --页大小 @SearchKey Nvarchar(10)

Javascript 常用扩展方法

这篇文章纯粹是为了保存这些方法,供以后翻阅,其实一直保存在 evernote 里面,但觉得还是放到对的地方会好点. 现在收录的很少,希望以后会慢慢增多. 数组扩展 contains,remove 扩展 1 function ArrayContains(array, obj) { 2 for (var i = 0; i < array.length; i++) { 3 if (array[i] === obj) { 4 return true ; 5 } 6 } 7 return false ;

JavaScript中正则表达式判断匹配规则以及常用的方法

JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它"匹配"了. \d可以匹配一个数字                 '00\d'可以匹配'007' ,'\d\d\d'可以匹配'010' \w可以匹配一个字母或数字      '\w\w'可以匹配'js' \s可

iOS 常用公共方法

iOS常用公共方法 1. 获取磁盘总空间大小 //磁盘总空间 + (CGFloat)diskOfAllSizeMBytes{ CGFloat size = 0.0; NSError *error; NSDictionary *dic = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:&error]; if (error) { #ifdef DEBUG NSLog(@&quo