簡體   English   中英

從 Physics2D.Raycast 和 Physics2D.OverlapCircle 訪問游戲對象

[英]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.colliderCollider2D類型,它與Physics2D.OverlapCircle的返回類型相同

您應該始終參考Unity Scripting Reference並檢查您的 IDE 自動完成建議,它們通常帶有文檔片段,您可以提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM