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(); } } }
//移动块 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); }