[英]Access to gameObject from Physics2D.Raycast and Physics2D.OverlapCircle
我很好奇為什么我不能像從 Physics2D.OverlapCircle 那樣直接從 Physics2D.Raycast 訪問游戲對象。 例如:
Collider2D topHit = Physics2D.OverlapCircle(top_Collision.position, 0.2f, playerLayer);
if(topHit.gameObject.tag == "Player")
對於 Physics2D.Raycast:
RaycastHit2D leftHit = Physics2D.Raycast(left_Collision.position, Vector2.left, 0.1f, playerLayer);
if (leftHit.collider.gameObject.tag == "Player")
為什么我必須使用“對撞機”?
還請指導我如何使用文檔或 Microsoft Visual Studio 來避免此類問題。 我的意思是,我怎么能自己檢查這樣的事情——如何去游戲對象?
由於Physics2D.Raycast的返回類型,您必須使用collider
。 它返回一個RaycastHit2D並且該對象包含除對象碰撞器之外的一些其他信息,例如距離和您可以在文檔中檢查的其他參數。
RaycastHit2D.collider
是Collider2D類型,它與Physics2D.OverlapCircle的返回類型相同。
您應該始終參考Unity Scripting Reference並檢查您的 IDE 自動完成建議,它們通常帶有文檔片段,您可以提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.