我有一个敌人,它会向玩家发送光线并检查其后面是否有任何东西。所示的光线仅显示了线的一部分,但正如您所看到的,它确实与玩家发生了碰撞。播放器附加了一个碰撞器,我尝试将其设置为正常并作为触发器。
我对代码所做的是检查返回数组的长度,由于某种原因它返回 0。以前当我使用
.lookAt()
时它曾经可以工作,但这导致旋转不再工作。我不知道该怎么做,我以为我了解光线投射是如何工作的,但有什么我不知道的吗?谢谢你的帮助
bool CheckForColliders()
{
Vector2 direction = transform.position - player.transform.position;
Debug.Log(Physics2D.RaycastAll(transform.position, direction, chargingRange * 2).Length); //returns 0
if (Physics2D.RaycastAll(transform.position, direction, chargingRange * 2).Length == 1)
{
return true;
}
return false;
}
V = A - B
这个向量的方向是朝向位置
A
,以B
为原点,所以显然你把它弄反了。