神刀安全网

Unity 3D学习笔记之C#知识储备

1.list 和 array 的区别
//list 是变长数组,相当于C++里的vector public List<int> list; //array是定长数组,相当于c++的普通数组 public int[] arr = new int[10]; 
2.构造函数constructor

和c++一样,有多态、继承
C# script必须施加在一个GameObject上才能发挥作用

3.OnEnable 和 Ondisable

分别在点下运行和点下结束的时候执行。

//执行先后顺序依次是      private void Awake(){              }     private void OnEnable() {      }     void Start() {              }     private void OnDisable() {              } 
4.Coroutine
private void Start()     {          StartCoroutine(CallFunction());          }      IEnumerator CallFunction()     {         yield return new WaitForSeconds(2f);         if(playerDied!=null)         {             playerDied();         }              } 
5.Time.timeScale
Time.timeScale = 0; //让游戏中一切都停止 
6.static variables and functions

不需要创造一个实例才能调用,直接用ClassName.variableName ClassName.FunctionName调用

    public static int power = 0;     public static void PowerInfo()     {         Debug.Log("power is " + power);     } 

注意静态函数里出现的变量必须是静态成员变量。

7.Enumeration

相当于创造一个新的数据类型,数据的值只能特定的几个值的其中一个。

    public enum GameState     {         Started,         Ended,         Paused,         MainMenu     }     GameState gameState = GameState.Started; 
8.data encapsulate

get 和 set 这个特性c和c++里没有,比较神奇。

    private float health;     private string playerName;     public float Health     {         get         {             return health;         }         set         {             health = value;         }     }     public string PlayerName{         get{             return playerName;         }         set{             playerName = value;         }     } 

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Unity 3D学习笔记之C#知识储备

分享到:更多 ()