Exemple #1
0
 void BackMoveList(List <GameObject> objects)
 {
     for (int i = 0; i < objects.Count; i++)
     {
         if (objects[i] != null)
         {
             ClickMoveBox move = objects[i].GetComponent <ClickMoveBox>();
             move.GoRepel();
         }
     }
 }
Exemple #2
0
    //移动块
    public void Spawn(GameObject prefab, float initx, ClickBox.BoxType type, float minSpeed, float width,
                      bool isAcc = false, int click = 0)
    {
        // if (!hasMove) return;
        float y;

        Vector3 pos = transform.position;

        y = centerY;

        GameObject go    = Instantiate(prefab) as GameObject;
        int        index = 0;
        int        layer = 0;

        switch (type)
        {
        case ClickBox.BoxType.RedBox:
            redBoxIndex++;
            index = redBoxIndex;
            moveBoxCount++;
            redBoxCount++;
            layer = 2000;
            _redObjects.Add(go);
            break;

        case ClickBox.BoxType.GroundBox:
            groundBoxIndex++;
            index = groundBoxIndex;
            moveBoxCount++;
            groundBoxCount++;
            layer = 3000;
            _groundObjects.Add(go);
            break;

        case ClickBox.BoxType.BombBox:
            bombBoxIndex++;
            index = bombBoxIndex;
            moveBoxCount++;
            bombBoxCount++;
            layer = 4000;
            _bombObjects.Add(go);
            break;

        case ClickBox.BoxType.FastBox:
            fastBoxIndex++;
            index = fastBoxIndex;
            moveBoxCount++;
            fastBoxCount++;
            layer = 5000;
            _fastObjects.Add(go);
            break;

        case ClickBox.BoxType.BossBox:
            bossBoxIndex++;
            index = bossBoxIndex;
            moveBoxCount++;
            bossBoxCount++;
            layer = 6000;
            _bossObjects.Add(go);
            break;
        }
        ClickMoveBox box = go.GetComponent <ClickMoveBox>();

        go.transform.parent     = this.transform;
        go.transform.localScale = new Vector3(1, 1, 1);
        //控制在横条内生成
        float half = go.GetComponent <Collider2D>().bounds.size.x / 2;
        float temp = initx - half;

        box.offsetX = half;
        box.Init(half, layer + index);
        box.InitMoveBox(minSpeed, minSpeed + 1, isAcc, click);
        go.transform.position = new Vector3(temp, y, 0);
    }