Esempio n. 1
0
    public float GetBetweenParentCenter(GameObject obj, LayOutBase.Align align, bool enableOffsetAdBanner = false)
    {
        float v1 = 0, v2 = 0;

        RectTransform rctranParent = obj.transform.parent as RectTransform;
        float         w_parent     = rctranParent.rect.width;
        float         h_parent     = rctranParent.rect.height;
        RectTransform rctran       = obj.GetComponent <RectTransform>();

        switch (align)
        {
        case LayOutBase.Align.LEFT:
        {
            //左边界
            v1 = -w_parent / 2;
            v2 = rctran.anchoredPosition.x - rctran.rect.width / 2;
        }
        break;

        case LayOutBase.Align.RIGHT:
        {
            //右边界
            v1 = w_parent / 2;
            v2 = rctran.anchoredPosition.x + rctran.rect.width / 2;
        }
        break;

        case LayOutBase.Align.UP:
        {
            //上边界
            v1 = h_parent / 2;
            v2 = rctran.anchoredPosition.y + rctran.rect.height / 2;
        }
        break;

        case LayOutBase.Align.DOWN:
        {
            //下边界
            v1 = -h_parent / 2;
            if (enableOffsetAdBanner)
            {
                v1 += AdKitCommon.main.heightAdCanvas;
            }
            v2 = rctran.anchoredPosition.y - rctran.rect.height / 2;
        }
        break;
        }

        return((v1 + v2) / 2);
    }
Esempio n. 2
0
    //node和屏幕边界之间的中心位置x或者y
    public float GetBetweenScreenCenter(GameObject obj, LayOutBase.Align align)
    {
        float         v1 = 0, v2 = 0;
        Vector2       sizeCanvas = AppSceneBase.main.sizeCanvas;
        RectTransform rctran     = obj.GetComponent <RectTransform>();

        switch (align)
        {
        case LayOutBase.Align.LEFT:
        {
            //左边界
            v1 = -sizeCanvas.x / 2;
            v2 = rctran.anchoredPosition.x - rctran.rect.width / 2;
        }
        break;

        case LayOutBase.Align.RIGHT:
        {
            //右边界
            v1 = sizeCanvas.x / 2;
            v2 = rctran.anchoredPosition.x + rctran.rect.width / 2;
        }
        break;

        case LayOutBase.Align.UP:
        {
            //上边界
            v1 = sizeCanvas.y / 2;
            v2 = rctran.anchoredPosition.y + rctran.rect.height / 2;
        }
        break;

        case LayOutBase.Align.DOWN:
        {
            //下边界
            v1 = -sizeCanvas.y / 2;
            v2 = rctran.anchoredPosition.y - rctran.rect.height / 2;
        }
        break;
        }

        return((v1 + v2) / 2);
    }