计算范围的算法

前言
  • 在计算组合块边框范围的时候想计算出四边的padding
  • 结果有问题,以后再想
private void CalcPadding(ComPieceData comPieceData)
    {
        int[] padding = new int[4];
        int top = comPieceData.height - comPieceData.centerY;
        int right = comPieceData.width - comPieceData.centerX;
        int down = comPieceData.centerY;
        int left = comPieceData.centerX;
        padding[0] = top;
        padding[1] = right;
        padding[2] = down;
        padding[3] = left;
        comPieceData.padding = padding;
    }

public int Iteration()
    {
        rotateByIte %= 4;
        return comPieceData.padding[rotateByIte++];
    }
    private bool IsFir = true;

    public void CalClpRge()
    {
        public int Iteration()
    {
        rotateByIte %= 4;
        return comPieceData.padding[rotateByIte++];
    }
    private bool IsFir = true;

    public void CalClpRge()
    {
        if (!IsFir)
        {
            rotateCpy--;
            if (rotateCpy < 0) rotateCpy = 3;
            rotateByIte = rotateCpy;
        }
        IsFir = false;

        int[] padding = new int[4];
        int top = comPieceData.height - comPieceData.centerY; //2
        int right = comPieceData.width - comPieceData.centerX; //1
        int down = comPieceData.centerY;//0
        int left = comPieceData.centerX;//0

        maxY = height - top; //3    
        maxX = width - right;//4;   3
        minX = left - 1; // left 0    0
        minY = down - 1; // 0         1

        //旋转90
        maxY = height - top; //left  1
        maxX = width - right;//4; top 1
        minX = left; // left 0 right 0
        minY = down; // 0 down 1



        //maxY = height - (Iteration());
        //maxX = width - Iteration();
        //minY = Iteration();
        //minX = Iteration();

        Debug.Log($"{maxY}-{minY}-{maxX}-{minX}");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值