簡體   English   中英

Physics2D.Raycast問題

[英]Problems with Physics2D.Raycast

在制作2D平台游戲的基礎教程中,我得到了以下代碼:

 if (Physics2D.Raycast(ray, out hit, Mathf.Infinity, collisionMask)) 

但是Unity表示,您需要Vector2而不是Ray並不out hit 有沒有一種方法可以用Vector替代相同的值並產生相同的效果?

如果需要,這是ray代碼:

 ray = new Ray2D(new Vector2(x,y), new Vector2(x,dir)); 

該代碼現在正在編譯,但實際上無法工作(它應該模擬重力,因此角色將跌倒直到跌落),但它只是跌落在地。

PlayerPhysics.cs
PlayerController.cs

在Unity中,角色具有正確設置的Box Collider 2D,並且腳本均已附加,並且平台具有正確設置的Box Collider 2D。

您的ray具有原點方向分量(兩者都是矢量),因此請嘗試以下操作:

var hit = Physics2D.Raycast(ray.origin, ray.direction, Mathf.Infinity, collisionMask));

暫無
暫無

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

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