【发布时间】:2020-05-14 23:59:19
【问题描述】:
我想在没有成功的情况下检测到对 GameObject 的触摸。我从一些示例中复制的代码是:
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Debug.Log("Mouse Clicked!!");
Vector3 worldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector2 worldPoint2D = new Vector2(worldPoint.x, worldPoint.y);
RaycastHit2D hit = Physics2D.Raycast(worldPoint2D, Vector2.zero);
Debug.Log(hit.collider);
}
}
输出始终为空:(
游戏对象没有移动,是一个带有盒子碰撞器的简单立方体。
【问题讨论】:
-
你的物体在移动?
-
我很惊讶您能够使用 Vector3 进行 Raycast2D。此外,Vector2.zero 是 (0,0,0)。这真的是您想要投射的方向吗?不是真正的方向。 docs.unity3d.com/ScriptReference/Physics2D.Raycast.html
-
物体没有移动