Exemplo n.º 1
0
    //调用销毁方法删除糖果
    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);
    }