zoukankan      html  css  js  c++  java
  • Unity3D学习笔记(三) 数组和容器(泛型)使用学习(基于C#)

    (2012-07-07 23:26:11)

    1.使用C#的List等容器前要头文件using System.Collections.Generic;
    容器:(声明--容器实例化--元素实例化--元素入容器)
    声明:public List<Transform> goals;
    容器实例化:goals=new List<Transform>();
    使用:goals.Add(enemy);  //添加到List末尾,enemy作为元素也是要先实例化的
          goals[0];          //获取List索引位置的元素
          goals.Count;      //变量,得到List元素个数
          goals.Clear();    //释放List的元素,设置Count=0
     
    /*

    注意!作为public List<WeaponData> weaponData中的类WeaponData,必须是public的,否则常会有权限错误的提示:(貌似是容器实例的权限和容器模板类的权限必须遵循一定高低关系)Inconsistent accessibility: field type `System.Collections.Generic.List<DataBase.WeaponData>' is less accessible than field `DataBase.weaponData'。其中weaponData为DataBase文件DataBase类的变量,Weapon为DataBase文件另一个类.

    其余详情可以查阅msdn对于System.Collections.Generic 命名空间中List的解释:(和Unity3D中类似)http://msdn.microsoft.com/zh-cn/library/0sbxh9x2

    */
    数组:(声明--数组实例化--数组元素实例化)
    声明: private Skill[] _skill;
    数组实例化:_skill=new Skill[Enum.GetValues(typeof(SkillName)).Length];
    元素实例化:for (int cnt = 0; cnt < _skill.Length; cnt++)
                   _skill[cnt] = new Skill();
    ①另外可以声明数组后,利用函数返回值进行数组实例化,而且此时
          GameObject[] go = GameObject.FindGameObjectsWithTag("Enemy");
    ②使用方式可以如:
          foreach (GameObject enemy in go) {   }
    ③数组属于Array类,本身也有一些属性,如_skill.Length;可以获取数组长度。
    ④函数传递数组时,形参用(Skill[] new_skill)即可(内部用new_skill.Length获取长度)。改变函数内形参的值,实参数组也会跟着改变。
     
    2.无论是数组还是容器亦或者其它变量,都可以在MonoBehaviour子类中以public权限声明后,不在脚本内实例化,而是在Unity3D软件的检视面板中赋值实现实例化。
      对于GameObject,Texture2D等类型的变量(或数组以及容器),一般都是在检视面板赋值。(但GO类型也可以用寻找GO等函数实例化,Texture2D类型则可以用C#硬盘读取图片的方式赋值)

  • 相关阅读:
    LVS基于DR模式负载均衡的配置
    Linux源码安装mysql 5.6.12 (cmake编译)
    HOSt ip is not allowed to connect to this MySql server
    zoj 3229 Shoot the Bullet(无源汇上下界最大流)
    hdu 3987 Harry Potter and the Forbidden Forest 求割边最少的最小割
    poj 2391 Ombrophobic Bovines(最大流+floyd+二分)
    URAL 1430 Crime and Punishment
    hdu 2048 神、上帝以及老天爷(错排)
    hdu 3367 Pseudoforest(最大生成树)
    FOJ 1683 纪念SlingShot(矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/mzdbskipop/p/3137565.html
Copyright © 2011-2022 走看看