用于管理 BeginGroup / EndGroup 的一次性帮助器类。
BeginGroup 在构造时被调用,而 EndGroup 在实例被释放时被调用。当您开始一个组时,GUI 控件的坐标系会被设置为 (0,0) 为组的左上角。所有控件都被裁剪到组内。组可以嵌套 - 如果嵌套,子组会被裁剪到其父组内。
这在屏幕上移动一堆 GUI 元素时非常有用。一个常见的用例是设计您的菜单以适应特定屏幕尺寸,然后在更大的显示器上居中 GUI。
using UnityEngine;
public class Example : MonoBehaviour { void OnGUI() { // Constrain all drawing to be within a 800x600 pixel area centered on the screen. using (var groupScope = new GUI.GroupScope(new Rect(Screen.width / 2 - 400, Screen.height / 2 - 300, 800, 600))) { // Draw a box in the new coordinate space defined by the BeginGroup. // Notice how (0,0) has now been moved on-screen. GUI.Box(new Rect(0, 0, 800, 600), "This box is now centered! - here you would put your main menu"); } // The group is now ended. } }
GUI.GroupScope | 创建一个新的 GroupScope 并开始相应的组。 |