【发布时间】:2016-08-31 08:28:01
【问题描述】:
我在 Unity 中有一个带有 2 个 2D 碰撞器的角色,一个用于头部,一个用于脚部。如何在 C# 中仅禁用头部碰撞器?
【问题讨论】:
我在 Unity 中有一个带有 2 个 2D 碰撞器的角色,一个用于头部,一个用于脚部。如何在 C# 中仅禁用头部碰撞器?
【问题讨论】:
类似这样的:
public Collider2D headCollider; // drag and drop head collider to this in inspector.
void DisableHeadCollider()
{
headCollider.enabled = false;
}
【讨论】:
你可以按照这个结构组织你的角色预制:
然后,在您的角色类中,您可以通过这种方式使用代码访问您的身体元素:
this.transform.FindChild("Head"); //will give you the head transform
this.transform.FindChild("Head").GetComponent<BoxCollider2D>(); // will give you the box collider component
this.transform.FindChild("Head").GetComponent<BoxCollider2D>().gameObject.SetActive(false); // desactivate the box collider 2D
【讨论】: