2017-08-04 8 views
1

基本的に私は落ちるブロックを持つ非常に単純なゲームを作った、私は基本的なC#の知識を持っているが、私はこれについてどうやって行くのか私自身は本当に分かりません。基本的に、私は、あなたが避けなければならない中央、左、右の3ブロックを1つ落としています。私はランダムに1から4秒以内にそれぞれのスポーン位置にそれらを生成するインスタンス化スクリプトを作成しましたが、時々それはすべて誤って3を生成するでしょう!私はちょうど2が既に左右に生まれているかどうかを確認するためのチェックが必要です。あなたは私を助けてくれますか?ありがとう! Btwこれは私の現在のスポーンスクリプトです。Unityでインスタンシエート

 public GameObject spawn; 
    private float spawnTime; 

    void Start() 
    { 
     spawnTime = Random.Range(1, 5); 
     Invoke("Spawn", spawnTime); 
    } 

    void Spawn() 
    { 
     spawnTime = Random.Range(1, 5); 
     Instantiate(spawn, transform.position, Quaternion.identity); 
     Invoke("Spawn", spawnTime); 
    } 

EDIT:

using UnityEngine; 

パブリッククラスrandomSpawner:MonoBehaviour {

public GameObject spawn; 
private float spawnTime = 1; 


void Start() 
{ 
    if (GameObject.FindGameObjectsWithTag("Cube").Length < 2) 
    { 
     spawnTime = Random.Range(1, 3); 
     Invoke("Spawn", spawnTime); 

    } 
} 


void Spawn() 
{ 
    if (GameObject.FindGameObjectsWithTag("Cube").Length < 2) 
    { 
     spawnTime = Random.Range(1, 3); 
     Instantiate(spawn, transform.position, Quaternion.identity); 
     Invoke("Spawn", spawnTime); 

    } 
} 

}

あなたのブロックにタグを追加することができ
+0

このスクリプトは、スポーンされているブロックに添付されていますか? – CNuts

+0

@CNutsそれはそうではありませんでしたが、今度は私がそれが産卵されている各キューブに適用されたので、それらが落ちている間、互いに上にスポーンします。 – enyap

+0

私は、2つ以上があり、それが修正されたら、私は後で返信するでしょう、それらが破壊されたキューブにdestroyerスクリプトを追加して破壊します。 – enyap

答えて

0

のは、インスタンス化する前に、その後BlockとしましょうあなたがするのはGameObject.FindGameObjectsWithTag("Block");です。次に配列の長さを確認するだけです。

void Spawn() 
{ 
    if(GameObject.FindGameObjectsWithTag("Block").Length < 2){ 
     Instantiate(spawn, transform.position, Quaternion.identity); 
    } 
    spawnTime = Random.Range(1, 5); 
    Invoke("Spawn", spawnTime); 
} 

また、あなたは1を破壊したときにブロックとデクリメントを産卵したときにインクリメントstatic変数を持つことができます。

+0

うわー、それは私がそれを想像しようとしていたよりも簡単です、あなたの助けてくれてありがとう! – enyap

+0

@enyap歓迎します、私が助けることができれば幸いです:) – CNuts

+0

実際には、私は現在、GameObjectに長さの定義が含まれていないというエラーが出ています。編集:私はそれを固定した、それは簡単な間違いだった、私は統一apiに精通していないと私の人生の最も簡単な間違いをした、笑顔、助けてくれてありがとう、申し訳ありません! – enyap

関連する問題