您好,登錄后才能下訂單哦!
在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í)間間隔。
免責(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)容。