如何获得Unity GUI max x,y位置?

时间:2016-10-11 13:09:45

标签: unity3d

void OnGUI() {

        if (GUI.Button (new Rect (0,maxY, 100,100 ), "Saldır")) {
            anim.SetBool("Bekle", false);
            anim.SetBool("Saldir", true);
        }
    }

这是我的代码。 我想在GUI界面中获得最大的Y位置?怎么办?

2 个答案:

答案 0 :(得分:1)

您可以使用Screen.height获取屏幕的最大Y值。在你的情况下,我会说Screen.height - 100,因为你必须减去Button的高度才能使它可见。

显然,Screen.width代表X值。

答案 1 :(得分:0)

如果这是关于缩放。使用画布。

但如果必须使用(旧)GUI,请使用矩阵:

        public void OnGUI(){
//First thing is the matrix
             GUI.matrix = Matrix4x4.TRS (Vector3(0, 0, 0), Quaternion.identity, Vector3 (Screen.width / 1280, Screen.height / 720, 1));

   //code
        }

http://answers.unity3d.com/questions/169056/bulletproof-way-to-do-resolution-independant-gui-s.html

https://docs.unity3d.com/ScriptReference/GUI-matrix.html

并回答你的问题:

Screen.width Screen.height