日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Unity3D教程:鼠標(biāo)碰撞檢測(cè)與事件監(jiān)聽(tīng)

首先創(chuàng)建JS腳本,源碼如下:

 
 
 
 
  1. function Update () {   
  2.     if(Input.GetButtonDown("Fire1")){   
  3.         var ray = Camera.main.ScreenPointToRay(Input.mousePosition);   
  4.         var hit : RaycastHit;   
  5.         if(Physics.Raycast(ray,hit)){   
  6.             hit.collider.SendMessage("ApplyDamage",1,SendMessageOptions.DontRequireReceiver);   
  7.         }   
  8.     }   
  9. }   
  10.  
  11. function ApplyDamage(){   
  12.     Debug.Log("HitMe!");   
  13. }   

鼠標(biāo)點(diǎn)擊的時(shí)間在Input中顯示為Fire1,點(diǎn)擊響應(yīng)后截取到鼠標(biāo)點(diǎn)擊的屏幕上的點(diǎn)的那條射線(xiàn),并將其進(jìn)行碰撞檢測(cè),從而獲取鼠標(biāo)點(diǎn)擊的物體事件。

將此腳本拖到任意GameObject上,運(yùn)行游戲點(diǎn)擊該物體則在Console顯示Hit Me!通過(guò)這種方式可以實(shí)現(xiàn)點(diǎn)擊鼠標(biāo)的事件,并且滿(mǎn)足更為高端的需求。Unity3D教程手冊(cè)

當(dāng)然很多情況下的響應(yīng)事件并不是物體本身,比如一個(gè)敵人GameObject,里面放一個(gè)碰撞體實(shí)現(xiàn)碰撞檢測(cè),常常是碰撞體上有JS腳本實(shí)現(xiàn)碰撞響應(yīng),而事件的調(diào)用寫(xiě)在GameObject的腳本中,比如這樣的框架:

其中Cube是檢驗(yàn)碰撞的碰撞體,而UpUpwards是響應(yīng)的物體。那么腳本就需要這樣寫(xiě):

 
 
 
 
  1. function Update () {   
  2.     if(Input.GetButtonDown("Fire1")){   
  3.         var ray = Camera.main.ScreenPointToRay(Input.mousePosition);   
  4.         var hit : RaycastHit;   
  5.         if(Physics.Raycast(ray,hit)){   
  6.             hit.collider.SendMessageUpwards("ApplyDamage",1,SendMessageOptions.DontRequireReceiver);   
  7.         }   
  8.     }   
  9. }   

然后在那個(gè)UpUpwards的腳本中加上響應(yīng)的方法:

 
 
 
 
  1. #pragma strict   
  2. var words:String;   
  3. function ApplyDamage(){   
  4.     Debug.Log(words);   
  5. }   

然后在Unity中把這個(gè)腳本一次拖到兩個(gè)upwards和upupwards上面,并且給words賦值,運(yùn)行發(fā)現(xiàn),這兩個(gè)GameObject都收到了消息:

原文鏈接:http://www.unitymanual.com/6292.html

責(zé)任編輯:彭凡
來(lái)源: Unity3D教程手冊(cè) Unity3D


標(biāo)題名稱(chēng):Unity3D教程:鼠標(biāo)碰撞檢測(cè)與事件監(jiān)聽(tīng)
網(wǎng)頁(yè)路徑:http://www.dlmjj.cn/article/cogpscc.html