自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unity3D教程:鼠標(biāo)碰撞檢測(cè)與事件監(jiān)聽(tīng)

開(kāi)發(fā) 游戲開(kāi)發(fā)
使用Unity3D開(kāi)發(fā)的3D游戲,鼠標(biāo)事件的檢測(cè)也是常見(jiàn)的問(wèn)題之一。處理的手段非常簡(jiǎn)單,請(qǐ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的腳本中,比如這樣的框架:

Unity3D教程:鼠標(biāo)碰撞檢測(cè)與事件監(jiān)聽(tīng)

其中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都收到了消息:

責(zé)任編輯:彭凡 來(lái)源: Unity3D教程手冊(cè)
相關(guān)推薦

2012-12-24 08:52:44

iOSUnity3D

2013-06-14 09:54:04

Unity3D

2012-12-24 09:15:57

iOSUnity3D

2013-04-25 09:56:24

unity3D手機(jī)游戲引擎

2013-06-19 08:52:48

Unity3D

2013-04-25 10:03:07

unity3D手機(jī)游戲引擎

2022-12-26 07:37:14

四叉樹(shù)Canvas

2013-06-18 08:49:15

2012-12-24 09:06:14

iOSUnity3D

2013-04-25 13:27:11

unity3D手機(jī)游戲引擎

2013-04-25 09:08:39

unity3D手機(jī)游戲引擎

2013-04-09 13:42:23

Unity3D基礎(chǔ)知識(shí)梳理

2012-12-24 09:09:27

AndoidUnity3D

2009-07-15 10:40:06

碰撞檢測(cè)算法Java ME

2012-12-24 09:08:14

iOSUnity3D

2012-12-24 08:40:12

2012-12-24 08:51:23

iOSUnity3D

2012-12-24 09:11:58

iOSUnity3D

2012-12-24 09:18:22

iOSUnity3D

2012-12-24 09:19:31

iOSUnity3D
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)