2015-10-17 76 views

回答

1

1)做一个公共变量,并指定日e)要在检查器中创建的对象(来自项目面板的预制件)(将脚本拖动到对象上后) public GameObject variable_name

2)继续这样做,所有你使用的是不同的对象(如果你有大量的我会建议使用的列表)

3)创建一个迭代结构,例如一个for循环,每使用一个随机数发生器(所有方块在1和9之间),例如2秒就被称为 Random rnd = new Random(); int square_position = rnd.Next(1, 9);

4)使用函数Instantiate() 例如在该位置生成对象。 Instantiate(GameObect_variable_name) 并使用变换函数将其移动到正确的位置

进一步的阅读,我建议:

http://docs.unity3d.com/Manual/CreateDestroyObjects.html http://docs.unity3d.com/ScriptReference/Transform.html

0

使从空的游戏物体变换的阵列,并将它们置于你的飞机(也可以是你看它从顶部的立方体),然后使用Coroutine调用方法每X秒和随机您可以使用Fisher Yates shuffle以随机在你的重生点的顺序,然后将它们分配给您的游戏对象

public class game{ 
    public GameObject[] points; 
     public GameObject[] objs; 

     void Start() 
    { 
     StartCoroutine(YourFunctionName()); 
    } 
    IEnumerator YourFunctionName() 
    { 
     while(true) 
     { 
      randomPlacer(); 
      yield return new WaitForSeconds(3); 
     } 
    } 



    void randomPlacer() 
    { 
     RandomizeArray(); 
     //assign all new positions to your objects 
    } 

    public void RandomizeArray(GameObject[] arr) 
    { 
     for (var i = arr.length - 1; i > 0; i--) { 
      var r = Random.Range(0,i); 
      var tmp = arr[i]; 
      arr[i] = arr[r]; 
      arr[r] = tmp; 
     } 
    } 
} 
+0

谢谢!很有帮助。特别是Coroutine的东西。 :) – jeanl

相关问题