void FixedUpdate() { //游戏非暂停并且游戏非结束 if ((!BackScript.Pause) && (!BackScript.GameOver)) { //MovingDown ()返回真,可以下落 if (MovingDown()) { //下落一个单位 transform.position = new Vector3(transform.position.x, transform.position.y - 1f, transform.position.z); } else { ListCheckX.Clear();//清空列表 //遍历当前物体的子物体 foreach (Transform Child in transform) { int BackX = Mathf.RoundToInt(cHigh - Child.position.y); //将物理纵坐标转换为背景数组X坐标 int BackY = Mathf.RoundToInt(cWide + Child.position.x); //将物理横坐标转换为背景数组Y坐标 BackScript.Backs[BackX, BackY] = 1; //将相应位置的背景数组赋1 Child.name = "Cube" + BackX.ToString() + BackY.ToString(); //以背景数组角标重命名该小方块 //检查是否已存在该元素 if (!ListCheckX.Contains(BackX)) { ListCheckX.Add(BackX);//将要检查的行加入列表 } } transform.DetachChildren(); //与子物体分离 BackScript.CheckBacks(ListCheckX); //调用背景检查函数 BackScript.AddCube(); //调用增加方块函数 DestroyImmediate(gameObject); //销毁自己 } } }