原因
Unity Game 视图是下拉切分辨率,在编辑 UI 时不方便进行切换查看各个分辨率的效果。
解决
分析 Editor 源码,将切换分辨率的功能移植到单独的窗口,这样切换分辨率的时候,只需要点击即可。
protected void OnGUI()
{
var currentGroup = GameViewSizes.instance.currentGroup;
int count = currentGroup.GetTotalCount();
float curWidth = 0;
float curX = 0, curY = 0;
for (int i = currentGroup.GetBuiltinCount(); i < count; i++)
{
var viewSize = currentGroup.GetGameViewSize(i);
var content = EditorGUIUtility.TempContent(viewSize.displayText);
var size = EditorStyles.toolbarButton.CalcSize(content);
size.x = Mathf.Min(size.x, Mathf.Max(minSize.x, position.width));
if (size.x + curWidth > position.width)
{
curX = 0;
curY += size.y;
curWidth = 0;
i--;
continue;
}
curWidth += size.x;
Rect rect = new Rect(curX, curY, size.x, size.y);
curX += size.x;
if (GUI.Button(rect, viewSize.displayText, EditorStyles.toolbarButton))
{
GameView.GetMainGameView().SizeSelectionCallback(i, viewSize);
}
}
}
原文地址:https://blog.csdn.net/akof1314/article/details/113453793
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。