Exemple #1
0
    void CreateLevel()                                           //创建底层关卡
    {
        Transform        last    = lineList[lineList.Count - 1]; //获取底层关卡,物体将从该层产生
        List <Transform> sonList = GetAllChild(last);            //获取底层所有小方格
        //生成一个几何体(每次创建关卡至少有一个几何体)
        Transform enemy = levelcreate.CreateEnemy();
        int       index = Random.Range(0, last.childCount); //随机定位一个格子

        enemy.position = last.GetChild(index).position;     //将几何体创建在该格子内
        enemy.parent   = last.GetChild(index);              //几何体作为该格子的子物体可随关卡层移动

        //然后在其它格子里随机生成物体
        for (int i = 0; i < sonList.Count; i++)
        {
            if (i != index) //除了刚才已经有敌人的格子外
            {
                //声明一个变量接受生成的物体
                Transform obj = levelcreate.PaneFactory();
                if (obj != null)                        //如果成功生产出东西
                {
                    obj.position = sonList[i].position; //将该东西生产在此方格
                    obj.parent   = sonList[i];          //作为该方格的子物体随关卡层移动
                }
            }
        }
    }
Exemple #2
0
    void CreateLevel()                                           //创建底层关卡
    {
        Transform        last    = lineList[lineList.Count - 1]; //获取最下层关卡,敌人将从该层产生
        List <Transform> sonList = GetAllChild(last);            //获取最下层所有小方格

        Transform enemy = levelcreate.CreateEnemy();             //生成敌人
        int       index = Random.Range(0, last.childCount);      //随机定位一个格子

        enemy.position = last.GetChild(index).position;          //将敌人创建在该格子
        enemy.parent   = last.GetChild(index);                   //该敌人作为该格子的子物体可随关卡层移动

        Transform obj;                                           //声明用于接收格子工厂里生产的东西

        for (int i = 0; i < sonList.Count; i++)
        {
            if (i != index)                             //除了刚才已经有敌人的格子外
            {
                obj = levelcreate.PaneFactory();        //生产东西
                if (obj != null)                        //如果成功生产出东西
                {
                    obj.position = sonList[i].position; //将该东西生产在此方格
                    obj.parent   = sonList[i];          //作为该方格的子物体随关卡移动
                }
            }
        }
    }
Exemple #3
0
    void CreateLevel()
    {
        Transform        last    = lineList[lineList.Count - 1];
        List <Transform> sonList = GetAllChild(last);

        Transform enemy = levelCreate.CreateEnemy();
        int       index = Random.Range(0, last.childCount);

        enemy.position = last.GetChild(index).position;
        enemy.parent   = last.GetChild(index);

        for (int i = 0; i < sonList.Count; i++)
        {
            if (i != index)
            {
                Transform obj = levelCreate.PaneFactory();
                if (obj != null)
                {
                    obj.position = sonList[i].position;
                    obj.parent   = sonList[i];
                }
            }
        }
    }