统一用户界面-轮播菜单

时间:2018-11-22 10:26:36

标签: c# user-interface unity3d menu carousel

我试图统一使用菜单选择中的中心按钮,使其看起来比其他按钮大。

这就是我生成按钮的方式 `

for (int i = 0; i < noOfOptions; i++)
   {
   float j = Mathf.Ceil(noOfOptions / 2);
   GameObject newButton =GameObject.Instantiate(buttonToSpawn,this.transform);
   newButton.name = i.ToString() + "Button";
   newButton.GetComponent<RectTransform>().anchoredPosition3D = startvector * distanceFromOrigin;
   newButton.GetComponent<RectTransform>().localScale = new Vector3(2, 2, 2);
    newButton.GetComponent<RectTransform>().localScale = new Vector3(2, 2, 2);
            newButton.GetComponent<LookAtTest>().index = i;
            //transform.eulerAngles = new Vector3(0, 0, 45);
            GameObject ChildGameObject1 = buttonToSpawn.transform.GetChild(0).gameObject;
            ChildGameObject1.GetComponent<Image>().sprite = sprites[i];
            startvector = (Quaternion.Euler(0, angleOfDifference, 0) * (startvector)).normalized;

        }

And rotating them in a circular menu : 
 public void RotateScroller()
    {
        print("Rotate");

        transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, slerpTime * Time.deltaTime);


        if (Mathf.Abs(transform.rotation.eulerAngles.y - targetRotation.eulerAngles.y) < 0.1f)
            canRotate = false;

    }

`

如何使中心按钮看起来比其余按钮大?

1 个答案:

答案 0 :(得分:0)

尝试使用组布局(垂直或水平) 您可以将“ Content Size Fitter”添加到组中并更改中心按钮的大小(或缩放,但大小更好)

您还可以使用滚动视图进行滚动,并计算按钮的大小,以及按钮位置到滚动视图中心的距离