//调用销毁方法删除糖果 private void RemoveCandy(Candy c) { AddEffect(c.transform.position); //播放爆炸音效 GetComponent <AudioSource>().PlayOneShot(explosionClip); //移除自己 c.DisposeCandy(); //得到被移除糖果上面的糖果 int columnIndex = c.columnIndex; for (int rowIndex = c.rowIndex + 1; rowIndex < rowNumber; rowIndex++) { Candy c1 = GetCandy(rowIndex, columnIndex); //往下移一位 c1.rowIndex--; //c1.UpdatePosition(); c1.ITweenToPosition(); //保存其位置 SetCandyPosition(rowIndex - 1, columnIndex, c1); } //在最上端生成一个新的糖果 Candy newCandy = AddCandy(rowNumber - 1, columnIndex); newCandy.rowIndex = rowNumber; newCandy.UpdatePosition(); newCandy.rowIndex--; newCandy.ITweenToPosition(); SetCandyPosition(rowNumber - 1, columnIndex, newCandy); }