溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Unity3D學(xué)習(xí)筆記(三)Unity的C#基礎(chǔ)

發(fā)布時(shí)間:2020-02-29 03:19:05 來(lái)源:網(wǎng)絡(luò) 閱讀:828 作者:qq570842253 欄目:游戲開發(fā)

在C#腳本中,必須顯式的繼承MonoBehaviour類
需要注意的是,在創(chuàng)建C#腳本時(shí),腳本名應(yīng)盡量符合C#命名規(guī)則,以字母或下劃線開頭,因?yàn)轭惷哪J(rèn)跟隨腳本名。

C#聲明變量的方式和C++和Java類似,例如
public string[] name = {"element1","element2",...};
public int i; public GameObject obj;
總體來(lái)說(shuō),與JavaScript的區(qū)別在于類型關(guān)鍵詞的放置位置不同。

函數(shù)的定義方式:
<public/private/protected> <返回值類型> <函數(shù)名>(參數(shù)列表)
{

}

注意,在C#中float值后面必須跟個(gè)f.
例如 float a = 12.3f;

不同語(yǔ)言腳本的通信:C#與JS通信
必須將JS放入Standard Assets文件夾中。

JS部分關(guān)鍵語(yǔ)句:需要類型轉(zhuǎn)換,類型為JS腳本名,JS腳本必須放在Standard Assets文件夾內(nèi)。
JS_test jsScript = (JS_test)GetComponent("<JS腳本名>");
這樣,jsScript就可以調(diào)用JavaScript腳本中的公共方法了。
C#部分關(guān)鍵語(yǔ)句:只需要常規(guī)獲取組件,下述情況發(fā)生在C#與JS綁定在一個(gè)物體上的情況。
var cs = this.GetComponent("CS_test");

四類時(shí)間:以秒為單位
Time.time 從游戲開始計(jì)時(shí),截至目前消耗的總時(shí)間。
Time.deltaTime Update()函數(shù)完成上一幀所消耗的時(shí)間
Time.fixedTime FixedUpdate()固定消耗時(shí)間總和
Time.fixedDeltaTime 固定更新上一幀消耗的時(shí)間

延時(shí)語(yǔ)句delay:
1.含有延時(shí)語(yǔ)句的函數(shù)返回值類型必須為:IEnumerator
2.在需要延時(shí)的部分使用:yield return new WaitForSeconds(secs);
3.特殊用法:等待一個(gè)事件A(),可以return A();

隨機(jī)數(shù)random:
使用Random.Range(min,max);//支持浮點(diǎn)數(shù)

數(shù)學(xué)函數(shù)Mathf:
Math.Abs,Sin,Cos,Tan,Max,Min,PI
Math.Clamp(num,min,max);//限制num處于min與max之間

四元數(shù)Quaternion.Euler(x,y,z):
Quaternion.Euler(x,y,z)返回的是旋轉(zhuǎn)四元數(shù),將它付給物體的rotation屬性可以在一幀內(nèi)完成旋轉(zhuǎn)。
如果使用Quaternion.Slerp方法還可以插值低速旋轉(zhuǎn),第一個(gè)參數(shù)為物體的rotatior屬性,第二個(gè)參數(shù)
為要旋轉(zhuǎn)角度的四元數(shù),第三個(gè)參數(shù)為時(shí)間間隔。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI