C# 通过脚本启用/禁用BoxCollider

C# 通过脚本启用/禁用BoxCollider,c#,unity3d,C#,Unity3d,我的玩家手中有一件武器,在攻击时摆动,击中敌人时造成伤害。但我希望对撞机只有在玩家进攻时才能启动,比如按F键。我所拥有的> GameObject weapon = transform.FindChild("orc_weapon").gameObject; if(Input.GetKey(KeyCode.F)) weapon.GetComponent<PolygonCollider2D>().enabled = false; GameObject武器=tr

我的玩家手中有一件武器,在攻击时摆动,击中敌人时造成伤害。但我希望对撞机只有在玩家进攻时才能启动,比如按F键。我所拥有的>

GameObject weapon = transform.FindChild("orc_weapon").gameObject; 

if(Input.GetKey(KeyCode.F))
            weapon.GetComponent<PolygonCollider2D>().enabled = false;
GameObject武器=transform.FindChild(“兽人武器”).GameObject;
if(Input.GetKey(KeyCode.F))
language.GetComponent().enabled=false;

出于某种原因,这会破坏我的玩家游戏对象。。。。我还试着用GameObject武器=GameObject.Find(“兽人武器”);在这种情况下,当我按下F键时,我发现未分配的异常武器没有被分配,我调试了它,它打印出了兽人武器,其中有两个游戏对象的名字是兽人武器!这就是问题所在!我把名字改成了player_-wearm,现在可以用了=D,谢谢

关于
transform.FindChild(“兽人武器”).gameObject
,兽人武器是否确实是此脚本所附加对象的子对象?请尝试在inspector中分配PolygonCallider。。。公共多弹头2D武器对撞机;if(Input.GetKey(KeyCode.F))weaponCollider.enabled=false;我想我们需要更多的信息来解决这个问题,你的设置如何?你的游戏对象层次结构是如何建立的?