虽然之前在学校学过,但是自己又都还给老师了,现在记录一下,欢迎交流学习
// 定义射线,(起点坐标,方向向量)
Ray2D ray = new Ray2D(Npc.transform.position, Vector2.down);
// 定义射线检测的层(不需要检测其他的层级的时候就固定检测某个层级)
int canRay = 1 << LayerMask.NameToLayer("NpcCollision");
RaycastHit2D info = Physics2D.Raycast(ray.origin, ray.direction, 100f, canRay);
// 如果未检测到东西就结束
if (info.collider == null)
{
return;
}
// 如果检测到的物体的tag是“NpcCollision”就执行操作
if (info.collider.tag == "NpcCollision")
{
isWalk = false;
ani.SetBool("stopWalk", true);
}