2016-05-22 3 views
0

私はUnityでゲームを作成しています。私は親オブジェクト内に3つの異なる子オブジェクトを持っている、私はランダムにこれら3つの子オブジェクトの1つをアクティブオブジェクトとして設定したいと同時に、他の2つを無効にしたいと思います。私はこれが別のオブジェクトと衝突して起こることを望みます。親から子オブジェクトを無作為に選択し、それをアクティブとして設定する

ありがとうございます。

+0

があなたの現在のコードを投稿したあなたのゲームオブジェクトを渡します! – Programmer

答えて

1
public GameObject parentOfChild; 

void OnTriggerEnter(Collider thing) 
{ 

if("the collision condition") 
{ 
    int randomChild = Random.Range(0,2); 
    if(randomChild == 0) 
    { 
     parentOfChild.transform.GetChild(0).gameObject.SetActive(true); 

     parentOfChild.transform.GetChild(1).gameObject.SetActive(false); 

     parentOfChild.transform.GetChild(2).gameObject.SetActive(false); 
    } 
    else 
    if(randomChild == 1) 
    { 
     parentOfChild.transform.GetChild(0).gameObject.SetActive(false); 

     parentOfChild.transform.GetChild(1).gameObject.SetActive(true); 

     parentOfChild.transform.GetChild(2).gameObject.SetActive(false); 
    } 
    else 
    if(randomChild == 2) 
    { 
     parentOfChild.transform.GetChild(0).gameObject.SetActive(false); 

     parentOfChild.transform.GetChild(1).gameObject.SetActive(false); 

     parentOfChild.transform.GetChild(2).gameObject.SetActive(true); 
    } 


} 

} 

これは、3人の子供がすべて衝突するまで表示されないことを考慮しています.3人の子供がすべて見える場合にも機能します。 parentOfChild オブジェクトで

あなたが助けされるように、3人の子供

関連する問題