unity3d GUI自动布局注意的问题

Unity采用的GUI模式是立即模式,这种模式同平时常见到的类似windows那种基于消息的模式有很大的区别。在GUI布局方面采用GUILayout类还是非常方便的。但是要注意OnGUI函数的执行周期会比Update更快,也就是说,一帧里面可能会调用多次,比如每次鼠标事件就会调用一次,因此在OnGUI函数里面要尽量减少运算。提高效率。Guilayout配合GUILayoutUtility.GetLastRect()获取布局的空间在屏幕上面的坐标的时候,要注意如果不是在Event.current.type不是repaint事件时,获取的矩形区域是(0,0,1,1),如果忽略了这点,将会给代码带来莫名其妙的错误。

原文地址:https://www.cnblogs.com/qzzlw/p/2664567.html