U3D方法名

U3D基礎(chǔ)

void OnCollisionEnter(Collision coll )   //碰撞開始的時候執(zhí)行一次
void OnCollisionExit(Coollision)            //當(dāng)碰撞結(jié)束的時候結(jié)束一次
void OnCollisionStay(Collision)              //當(dāng)碰撞執(zhí)行中時,會持續(xù)調(diào)用該方法

void OnTriggerEnter(Collider)         //當(dāng)進(jìn)入觸發(fā)范圍時開始時調(diào)用,只會調(diào)用該方法一次
void OnTriggerExit(Collider)          //當(dāng)入觸發(fā)范圍時結(jié)束一次
void OnTriggerStay(Collider)           //當(dāng)入觸發(fā)范圍中時,會持續(xù)調(diào)用該方法

GameObject.Find(String): [靜態(tài)方法]  通過名字查找游戲物體

GameObject.FindGameObjectWithTag(String):[靜態(tài)方法] 通過特定的標(biāo)簽,查找到所有””貼有改標(biāo)簽的游戲物體,返回一個數(shù)組

U3D進(jìn)階

GameObject.Instantiate(Object,Vector3,Quaternion); [靜態(tài)函數(shù)]  //創(chuàng)建游戲物體

//參數(shù)說明
Object :用于實(shí)例化的預(yù)制體
Vector3 :實(shí)例化后生成的物體所在的位置
Quaternion[四元數(shù)]:實(shí)例化后生成的物體的旋轉(zhuǎn)狀態(tài); 
Quaternion.identity:無旋轉(zhuǎn)


GameObject.Destroy(Object,float);    //定時銷毀某個游戲物體

//參數(shù)說明
Object : 要銷毀的游戲物體;
float : 時間,多少秒后銷毀;

Invoke(String,float) ; //多少秒后執(zhí)行某個函數(shù)[只會調(diào)用一次];

//參數(shù)說明
String : 要執(zhí)行的函數(shù)的名稱
float :秒數(shù),倒計(jì)時的時間

InvokeRepeating(String,float,float); 多少秒后執(zhí)行某個函數(shù),并且以后每隔多少秒都會執(zhí)行該函數(shù)一次[重復(fù)調(diào)用N次];

//參數(shù)說明:
String:要執(zhí)行的函數(shù)的名稱
Float:秒數(shù),準(zhǔn)備時間,預(yù)熱時間;
Float:秒數(shù),重復(fù)調(diào)用的間隔時間;

CancelInvoke(); 取消這個腳本中所有的Invoke調(diào)用;


gameObject.SendMessage(String);通知這個游戲物體身上的腳本文件中的”指定方法”執(zhí)行.

//參數(shù)說明
String : 方法名,要執(zhí)行的方法的名稱


OnClick();  按鈕的點(diǎn)擊事件
IEnumerator Task3()
{
yield return new WaitForSeconds (2);
Debug.Log ("任務(wù)3");
 }
參數(shù)說明:
IEnumerator:協(xié)同程序的返回值類型;
yield return:協(xié)同程序返回 xxxxx;
new WaitForSeconds (秒數(shù)):實(shí)例化一個對象械哟,等待多少秒后繼續(xù)執(zhí)行蝉绷。 這個 Task3()的作用就是等待兩秒后俊抵,繼續(xù)執(zhí)行任務(wù) 3.
2.開啟協(xié)同程序
StartCoroutine(“協(xié)同程序方法名”);
這個 StartCoroutine 有三種重載形式辐烂,目前先只介紹這一種辛块。
3.停止協(xié)同程序
StopCoroutine(“協(xié)同程序方法名”);
這個 StopCoroutine 也有三種重載形式彻犁,目前先只介紹這一種。

腳本的生命周期:

1.Awake() ※
喚醒事件,只執(zhí)行一次恩脂。

2.OnEnable()
啟用事件,只執(zhí)行一次趣斤。當(dāng)腳本組件被啟用的時候執(zhí)行一次俩块。

3.Start() ※
開始事件,只執(zhí)行一次浓领。

4.FixedUpdate() ※
固定更新事件玉凯,執(zhí)行 N 次,0.02 秒執(zhí)行一次联贩。 所有物理組件相關(guān)的更新都在這個事件中處理漫仆。

5.Update() ※
更新事件,執(zhí)行 N 次泪幌,每幀執(zhí)行一次盲厌。

 6.LateUpdate()
稍后更新事件,執(zhí)行 N 次祸泪,在 Update 事件執(zhí)行完畢后再執(zhí)行吗浩。

7.OnGUI()
GUI 渲染事件,執(zhí)行 N 次没隘,執(zhí)行的次數(shù)是 Update 事件的兩倍懂扼。

8.OnDisable()
禁用事件,執(zhí)行一次右蒲。在 OnDestroy 事件前執(zhí)行阀湿。 或者當(dāng)該腳本組件被“禁用”后,也會觸發(fā)該事件瑰妄。

9.OnDestroy() ※
銷毀事件陷嘴,執(zhí)行一次。當(dāng)腳本所掛載的游戲物體被銷毀時執(zhí)行翰撑。

10.注意事項(xiàng)
生命周期事件罩旋,全部是由系統(tǒng)定義好的,且系統(tǒng)會自動調(diào)用眶诈。
系統(tǒng)調(diào)用這些事件的順序涨醋,和我們代碼里面的書寫順序無關(guān)。

常用 API 之工具類:

一 . Screen 屏幕類
1.作用
這個類中包含屏幕相關(guān)的數(shù)據(jù)信息逝撬。


2.類中常用屬性
Screen.width:靜態(tài)只讀屬性浴骂,屏幕的寬度。 Screen.height:靜態(tài)只讀屬性宪潮,屏幕的高度溯警。

備注:在 Unity 的開發(fā)模式下趣苏,這兩個值取的是 Game 窗口的寬度和高度。
在項(xiàng)目編譯打包后梯轻,再運(yùn)行食磕,就是具體的設(shè)備的屏幕的寬度和高度。

二. Time 時間類
1.作用
這個類中包含時間相關(guān)的數(shù)據(jù)信息喳挑。


2.類中常用屬性
Time.time
靜態(tài)只讀屬性彬伦,游戲時間。從游戲開始到現(xiàn)在所經(jīng)過的秒數(shù)伊诵。

Time.deltaTime
靜態(tài)只讀屬性单绑,時間增量。渲染完上一幀畫面所消耗的時間曹宴。 [可以用于實(shí)現(xiàn)倒計(jì)時效果]

Time.timeScale
靜態(tài)屬性搂橙,時間縮放。[可以用于暫停游戲]
當(dāng)值為 1 時笛坦,游戲是正常狀態(tài);為 0 時区转,游戲是暫停狀態(tài);為 0.5 時,游戲是 處于慢放 0.5 倍的狀態(tài)弯屈。


三. Mathf 數(shù)學(xué)類
1.作用
這個類(其實(shí) Mathf 是結(jié)構(gòu)體類型)中包含了各種各樣的數(shù)學(xué)運(yùn)算相關(guān)的函數(shù)蜗帜。

2.常用函數(shù)
Mathf.Abs() 取絕對值 

Mathf.Max() 取最大值 

Mathf.Min() 取最小值 

Mathf.Round() 四舍五入

3.插值運(yùn)算函數(shù)
Mathf.Lerp(float a,float b资厉,float t) :插值運(yùn)算

基于浮點(diǎn)數(shù) t 返回 a 到 b 之間的插值厅缺,t 限制在 0~1 之間。 當(dāng)t=0返回a宴偿,當(dāng)t=1 返回b湘捎。當(dāng)t=0.5 返回a和b的平均值。 演示:一個數(shù)從 0窄刘,插值到 10窥妇。
備注:Lerp()這個函數(shù),在很多類中都存在娩践,插值運(yùn)算的目的基本都是為了 “平滑過渡”活翩。

射線:

一:物理射線相關(guān)方法:

1.通過攝像機(jī)創(chuàng)建射線
演示:按下鼠標(biāo)左鍵發(fā)射射線。

Camera.main
代表 tag 設(shè)置為“MainCamera”的攝像機(jī)的 Camera 組件的引用翻伺。

m_Camera.ScreenPointToRay(Vector3)
攝像機(jī)組件(對象)下的一個方法材泄。
屏幕點(diǎn)轉(zhuǎn)化為射線,這個方法會返回一個 Ray 類型的射線吨岭。 這個屏幕點(diǎn)通常寫鼠標(biāo)的點(diǎn)擊位置拉宗,這樣的話,就代表從攝像機(jī)的位置開始,往 鼠標(biāo)點(diǎn)擊點(diǎn)這個方向旦事,發(fā)射一根射線魁巩。

Input.mousePosition
鼠標(biāo)所在的位置值。

Ray
射線姐浮,一個結(jié)構(gòu)體谷遂。
代碼完整格式:
ray = Camera.main.ScreenPointToRay(Input.mousePosition);

 2.檢查射線與其他物體的碰撞
RaycastHit
一個結(jié)構(gòu)體,用于存儲射線的碰撞信息单料。

Physics.Raycast(Ray, out RaycastHit)
物理類下面有一個靜態(tài)方法叫做 Raycast()埋凯,射線檢查点楼。
這個方法有 16 個重載方式扫尖,我們現(xiàn)在使用第 3 種重載方式。

第 3 種重載: 檢查這根射線掠廓,如果射線與場景中的物理碰撞了换怖,返回值為真,并且將碰撞信息 存儲到 RaycastHit 類型的變量中蟀瞧。
設(shè)置游戲物體顏色
brick.GetComponent<MeshRenderer>().material.color = new Color(Random.Range(0,1.0f),Random.Range(0,1.0f),Random.Range(0,1.0f));
主攝像機(jī)發(fā)射射線沉颂,與場景中的物體碰撞,獲取一個碰撞點(diǎn)悦污,然后手臂“朝向”
這個點(diǎn)铸屉。
Transform.LookAt(Vector3):朝向(面向)世界中的一個點(diǎn)。
4.Debug 繪制測試線
槍口到碰撞點(diǎn)直接繪制一根測試線切端。
Debug.DrawLine(Vector3, Vector3, Color):繪制線 和 Debug.DrawRay()用法一樣彻坛。
Transform.FindChild(string):在當(dāng)前物體的子物體中查找游戲物體。

2.槍口添加激光特效
1.槍口位置添加 LineRenderer 組件
在槍口這個空游戲物體上添加 LineRenderer 組件踏枣,設(shè)置相關(guān)屬性昌屉。

LineRenderer.SetPosition(int,Vector3):設(shè)置線的位置茵瀑。 int:位置的索引值;
Vector3:該位置所在的坐標(biāo)值;

2.飛盤射擊
鼠標(biāo)碰到飛盤间驮,并且此時按下鼠標(biāo)左鍵,就立刻將飛盤干掉马昨。

Transform.parent:屬性竞帽,當(dāng)前物體的父物體。

Transform.GetComponentsInChildren<T>();
獲取所有子物體的某個組件鸿捧。

GameObject.AddComponent<T>():給游戲物體添加組件屹篓。

Transform.SetParent(Transform);
將當(dāng)前的物體設(shè)置為另一個物體的子物體。

SetActive(BOOL)  是否隱藏游戲物體

 void OnMouseDown()  自動捕捉鼠標(biāo)左鍵被點(diǎn)擊事件


Vector3.Distance(a,b)  a向量和b向量之間的數(shù)值長度


collision.relativeVelocity.magnitude   獲取兩個碰撞體之間的相對速度

int a = list.indexof("元素名");    //查找指定元素在list下的下標(biāo)

憤怒的小鳥遇到的函數(shù)

 Time.timeScale = 0;    //暫停游戲場景
 Time.timeScale = 1;    //開啟游戲場景

SceneManager.LoadScene(0); //加載指定場景   要寫出調(diào)用class名  using UnityEngine.SceneManagement;

Mathf.Clamp 限制

static function *Clamp* (*value* : float, *min* : float, *max* : float) : float 

*Description*描述

Clamps a value between a minimum float and maximum float value.

限制value的值在min和max之間笛谦, 如果value小于min抱虐,返回min。 如果value大于max饥脑,返回max恳邀,否則返回value

PlayerPrefs.SetString(key , value);    //U3D官方存儲數(shù)據(jù)方法,鍵值對存儲  ,還有SetInt  和SetFloat

string value = PlayerPrefs.GetString(key);  //獲取value值  ,還有GetInt 和 GetFloat

int.Parse(string)     //把string類型的字符轉(zhuǎn)換成int類型的


///異步場景加載法
 SceneManager.LoadSceneAsync( );

///設(shè)置分辨率

Screen.SetResolution(800,500,是否全屏);

///去掉發(fā)布之后u3d默認(rèn)啟動動畫
File>>Build Settings...>>Player Settings...>>Splash Image>>不勾選Show Unity Splash Screen
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末懦冰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谣沸,更是在濱河造成了極大的恐慌刷钢,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乳附,死亡現(xiàn)場離奇詭異内地,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)赋除,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進(jìn)店門阱缓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人举农,你說我怎么就攤上這事荆针。” “怎么了颁糟?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵航背,是天一觀的道長。 經(jīng)常有香客問我棱貌,道長玖媚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任婚脱,我火速辦了婚禮今魔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘起惕。我一直安慰自己涡贱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布惹想。 她就那樣靜靜地躺著问词,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嘀粱。 梳的紋絲不亂的頭發(fā)上激挪,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天,我揣著相機(jī)與錄音锋叨,去河邊找鬼垄分。 笑死,一個胖子當(dāng)著我的面吹牛娃磺,可吹牛的內(nèi)容都是我干的薄湿。 我是一名探鬼主播,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼豺瘤!你這毒婦竟也來了吆倦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤坐求,失蹤者是張志新(化名)和其女友劉穎蚕泽,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桥嗤,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡须妻,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泛领。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒吏。...
    茶點(diǎn)故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖师逸,靈堂內(nèi)的尸體忽然破棺而出司倚,到底是詐尸還是另有隱情,我是刑警寧澤篓像,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布,位于F島的核電站皿伺,受9級特大地震影響员辩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸵鸥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一奠滑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妒穴,春花似錦宋税、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至矮台,卻和暖如春乏屯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘦赫。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工辰晕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人确虱。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓含友,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子窘问,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,825評論 25 707
  • 111. [動畫系統(tǒng)]如何將其他類型的動畫轉(zhuǎn)換成關(guān)鍵幀動畫扎唾? 動畫->點(diǎn)緩存->關(guān)鍵幀 112. [動畫]Unit...
    胤醚貔貅閱讀 12,982評論 3 90
  • 第一部分 1.請簡述值類型與引用類型的區(qū)別答:區(qū)別: 1.值類型存儲在內(nèi)存棧中,引用類型數(shù)據(jù)存儲在內(nèi)存堆中南缓,而內(nèi)存...
    為什么你不覺得幸福啊閱讀 686評論 0 1
  • 說到二人轉(zhuǎn)汉形,全國人民首先想到的就是趙本山纸镊,其實(shí),作為土生土長的東北人概疆,全體鄉(xiāng)親應(yīng)該感謝趙本山逗威,是這個大叔把二人轉(zhuǎn)傳...
    彝巽閱讀 990評論 0 6
  • (文/舒 天)《齊魯晚報(bào)》青未了·心理版2014年7月27日 炎熱的天氣,因女兒到哪里上學(xué)引發(fā)的家庭爭論讓人心焦岔冀。...
    舒天閱讀 208評論 0 2