2015-06-30 41 views
0

我的玩家手中持有武器,在攻擊時揮動並在擊中敵人時造成傷害。但是我希望對撞機只有在玩家正在進攻時才能夠進行,例如按F鍵。我有什麼>通過腳本啓用/禁用BoxCollider

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

if(Input.GetKey(KeyCode.F)) 
      weapon.GetComponent<PolygonCollider2D>().enabled = false; 

出於某種原因,這毀了我的球員遊戲對象....我也試圖讓遊戲對象與武器= GameObject.Find(「orc_weapon」)的武器;在這種情況下,當我按下F我得到未分配的異常武器尚未被分配,我取消它,它打印orc_weapon

+0

關於'transform.FindChild(「orc_weapon」)。gameObject;','orc_weapon'絕對是這個腳本所連接的對象的子元素嗎? – mGuv

+0

嘗試在檢查器中分配PolygonCollider ... public PolygonCollider2D weaponCollider; if(Input.GetKey(KeyCode.F)) weaponCollider.enabled = false; –

+0

我想我們需要一些更多的信息來解決這個問題,你是如何設置的?你的gameObject層次結構如何構建? – d4Rk

回答

0

夥計那裏有2名gamecjects與名稱orc_weapon!這是問題!我將名稱更改爲player_weapon,現在它可以工作= D,謝謝!