日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2d unity 多物体 射线_[蛮牛驿馆] Unity2D:用射线检测物体的点击

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2d unity 多物体 射线_[蛮牛驿馆] Unity2D:用射线检测物体的点击 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:[蠻牛驛館] Unity2D:用射線檢測物體的點擊

通常,在Unity里會經常使用OnMouseDown檢測GameObjects上的點擊。效果很好,但需要在Gameobject上掛一個腳本,而且當存在很多可點擊的物體時還必須要同步。

1

另一種方法,也就是這邊文章要講到的,就是用一個腳本來管理整個游戲中的點擊。一大堆的理由可以說明這是非常有用的,但主要是提供一個集中的位置來管理所有的輸入以及整合整個游戲過程中的點擊。舉個例子,在角色的視野范圍內時,在菜單關閉時,或者沒有游戲內的對話框彈出時,可能只有一個Box可以被點擊。在這種情況下,將點擊的邏輯放在Box的腳本里,需要box有知識來訪問角色、菜單和對話框系統,這樣就會導致混亂的代碼。在GameObjects里掛上點擊事件還會導致一個問題,假如要支持多種輸入,比如點擊和觸摸,你會發現有太多的GameObject的腳本都掛上了點擊事件,而且還沒達到本身的目的。

就因為上邊提到的兩個原因,我更偏向于用一個單一的輸入腳本來管理這些點擊事件以及代理被點擊的物體。這樣一來,當點擊/觸摸事件發生時,只需要簡單地通知與交互相關的GameObject即可,而不用關心輸入的是什么,只是有輸入就行。為了實現這個設想,創建一個空GameObject,命名為Click Manger,掛上一個腳本。腳本就叫ClickManger。

2

監聽點擊事件

在ClickManger腳本里,用Update函數檢測鼠標是否已經點擊:

我們用的是Input.GetMouseButtonDown來檢測是否鼠標左鍵(0代表左鍵)在當前幀被按下。也就是說,當你點擊時,即使一直按著鼠標左鍵不放,在Update函數的循環中也僅僅返回一次true,直到釋放鼠標并再次點擊。對于鼠標右鍵用1代表,鼠標中間則是用2代表。

3

什么被點擊了呢?

既然知道了點擊已經發生,但是我們怎么知道具體什么被點擊到了呢?因為這個腳本并不屬于游戲中是實際物體(僅僅是一個空物體)我們需要用Raycast來檢測到底用戶點擊了什么。

Raycast的實質就是在游戲場景中的兩點之間“畫”了一條線,檢測這條線上碰撞到的任何物理物體。你就可以用碰撞獲得的信息來確定碰撞到的物體并做相應處理。另一個Raycast比較有用的樣例?

有一件事情值得注意:點擊的位置指的是屏幕坐標,而不是世界坐標。屏幕坐標代表像素,(0,0)點是指屏幕左下角。我們需要將屏幕坐標轉換成世界坐標以正確地與場景中的GameObjects做匹配。另外一個小問題是,點擊的位置包含了Z軸的坐標,在2D游戲中是不相干的,但還是會干涉到Raycast的檢測,因為Z軸在2D游戲中依然是存在的,所以,我們需要忽略Z軸。

首先,在if語句中,將點擊坐標轉換成世界坐標:

用ScreenToWorldPoint將Input.mousePosition轉換成世界坐標,這樣就可以用來與GameObject相比較了。

接下來,我們用Physics2D.Raycast生成射線,提供一個Vector2類型的mousePos忽略Z軸作為起始點。還要提供一個Vector2.zero作為Raycast的方向以保證只有在點擊方向的位置上的物體才可以被檢測到:

現在可以用Raycast2D來確定是否有物體被點擊了:

Hit.collider返回一個Collider2D,從這個Collider2D中可以訪問到點擊到物體的Rigibody和GameObject屬性?,F在我們就可以直接操作被點擊到的物體!在接下來的例子中,我們只是簡單地打印被點擊到的物體的名字,給rigibody施加一個作用力:

按照游戲交互設計,因為你已經知道哪個物體已經被點擊到了并且怎樣獲取該物體,你可以對被點擊的物體做任何處理。愉快地點吧!

4

全部腳本

責任編輯:

總結

以上是生活随笔為你收集整理的2d unity 多物体 射线_[蛮牛驿馆] Unity2D:用射线检测物体的点击的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产在线观看免费高清 | 国产伦乱视频 | 日韩毛片视频 | 成人欧美一区二区三区黑人冫 | 中文字幕欧美人妻精品一区蜜臀 | 美女张开腿让人桶 | 日韩av资源| 国产精品igao| 丁香花免费高清完整在线播放 | 中国大陆高清aⅴ毛片 | 性做久久久久久免费观看 | 欧美黄色一级视频 | 精品成人av一区二区三区 | 中文字幕一区二区人妻电影 | 日韩色综合网 | 中文字幕不卡一区 | 在线免费亚洲 | 国产r级在线 | 在线观看中文 | 国产精品一区二区三 | 欧美乱码精品一区二区三区 | 亚洲射吧| 精品香蕉视频 | 我们2018在线观看免费版高清 | 国产精品扒开做爽爽爽的视频 | 国产一区二区三区免费播放 | 午夜美女福利 | 致命弯道8在线观看免费高清完整 | 九九九九九精品 | 国产一级免费在线观看 | 五月婷婷在线播放 | 精品久久久久久久久中文字幕 | 欧美成人午夜精品免费 | 韩国伦理在线 | 免费色网址 | 久久久黄色 | 国产精品一区二区久久毛片 | 久草一本 | 亚洲视频免费在线观看 | 中文字幕不卡一区 | 欧洲一二三区 | 国外成人性视频免费 | 免费观看成年人视频 | www四虎精品视频免费网站 | 亚洲欧美黄 | 综合久久一区二区 | 欧美熟妇一区二区 | 四虎影院在线 | 亚洲AV无码精品色毛片浪潮 | 成人免费大全 | 国产精品女人久久久 | 国产激情成人 | 亚洲中字 | 日韩欧美在线免费观看 | 国内性爱视频 | 超碰在线免费 | 亚洲视屏在线观看 | 人成精品 | 隣の若妻さん波多野结衣 | 72种无遮挡啪啪的姿势 | 欧美xxxbbb| 精品视频久久久久久 | 少妇丰满尤物大尺度写真 | 男男做的视频 | 日本a级网站 | 韩国一区二区三区视频 | 午夜在线不卡 | 国产天堂网| 日韩一区二区高清 | 麻豆69xxnxxporn| 麻豆高清免费国产一区 | 色先锋av | 啪啪网站免费看 | 性欧美精品 | 免费大片黄在线观看 | 好紧好爽再浪一点视频 | 国产日韩在线播放 | 青青草福利视频 | 日日摸日日碰 | jizzjizz日本人 | 动漫3d精品一区二区三区乱码 | 天天爽夜夜爽夜夜爽精品 | 国产熟女一区二区 | 欧美日韩国产精品一区二区 | 偷拍第1页| 人妻精油按摩bd高清中文字幕 | 荒野求生21天去码版网站 | 成人一区二区三区在线观看 | 日韩经典av | 色福利hd写真video | 日批视频免费观看 | www.成人免费视频 | 国产精品福利一区二区三区 | 在线免费观看污网站 | 男女操网站 | 玉足调教丨vk24分钟 | 天天夜夜人人 | 呦呦色 | 欧美日韩中文字幕视频 |