1. 程式人生 > >unity中的C#程式設計-零基礎(Unity2017)

unity中的C#程式設計-零基礎(Unity2017)

1.什麼是C#程式語言? 微軟官方出版

Unity支援哪些程式語言? C#Script和Javascript

2.程式設計工具(IDE)

Monodevelop 內建
VS 微軟出版,可自主安裝

3.建立第一個C#程式碼

瞭解程式碼結構

// 註釋方法同C語言,不同的是寫多行註釋時
/*  ”敲回車會發現
*
*
* “這些星號是自動新增的,為了註釋美觀。因此直接在最後一個“*”後加“/”即可完成

4.場景的儲存和指令碼的儲存

重新命名快捷鍵F2
上欄名稱後帶有一個“*”星號說明當前狀態未儲存。
指令碼:ctrl+s

5.關於日誌輸出(指控制輸出,其中Log有三類:正常、警告、錯誤輸出)

1.用print //它只能用在元件輸出
2.Debug.Log(“hello world”); //Debug何地都可用
Debug.Log+其他字母,有警告輸出等..
如Debug.LogWarning();警告提示
Debug.LogError();錯誤提示

6.變數

1.定義變數:變數有效範圍僅在本方法內,比如Start()中定義的變數不可在Update()中直接拿來用。
2.變數型別:[Unity]C#基礎之資料型別
(1)整型根據儲存範圍劃分為八個:常用int,而根據節省記憶體的目的可選擇更精確範圍。
這裡寫圖片描述


(2)浮點型:floatdouble,如果在程式碼中沒有對某個非整數值(如1.23)硬編碼,則編譯器一般假定該變數是double。如果想指定該值為float,可在後面加(F/f):float f = 1.23f;
(3)decimal型別:專門用於財務計算,若要數字指定為decimal型別,可在數字後面加M/m:decimal d = 12.30M;
(4)bool 布林:
(5)char (‘A’):字元一定用單引號括起來,因為“A”雙引號內會被編譯器看做是字串從而產生錯誤。
(6)引用型別(兩個:stringobject→所有型別都是從它派生而來的)
(7)一點命名規範:
1.避免使用單個字元作為變數名,比如a,b,c除非在迴圈裡定義的變數。
2.當使用多個單片語成變數名時,使用駱駝(Camel)命名法
:第一個單詞的首字母小寫,其他單詞的首字母大寫,如:myName,hisAge.
在JAVA中:類名的識別符號一般用大駝峰式書寫格式,方法和變數的識別符號則多用小駝峰式書寫格式。
此外和C/C不同的:常量是靜態的。不必須(實際上,是不允許)在常量宣告中包含修飾符static!
(8)資料型別轉換:在C#中分兩種:
1)隱式[又叫自動]型別轉換:比如 int→double
2)顯式[又叫強制]型別轉換:比如double→int,如何強制?int b = (int)a;
3)字串轉換為其他型別:

string strValue = "50.5";
double dValue = double.Parse(strValue);//轉換為小數型別,**double.Parse();**

4)任意型別之間的轉換:Convert.ToXX(任何型別);

 如:把一個布林型別轉換為整型
                  bool a = true;
                  int b = Convert.ToInt16(a);
                 Console.WriteLine("轉換後的結果是:"+b);  //轉換後的結果是:1

7.方法的定義和呼叫

/*
返回值 方法名(引數){

      方法體
}
*/舉例子:
void Start(){
     Test();    //呼叫方法
}

void Test(){
     print(“方法Test被呼叫了!”);      //定義方法
}

8.方法中的引數,返回值

class Enemy{                    //  類的建立、宣告
    public string name;         //public的欄位才可以通過物件訪問
    int hp;
}

void Start(){                  //利用類宣告的變數,可以叫做物件
    Enemy enemy1 = new Enemy();   //new 構造物件
    enemy1.name = √ 
    enemy1.hp = ... //會報錯,因為變數hp不是public型別 不可外部呼叫
}

10.列舉型別:

enum RoleType{     //關鍵字+命名
     apple,          //物件,以逗號分隔
     pen,
     erase
}

     RoleType rt = RoleType.apple;   //使用列舉

11.元件的建立與使用