[英]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.