Unity Runtime控制编辑器的一些操作

运行时修改Game窗口尺寸

cs 复制代码
//设置竖屏
public void ChangePortrait()
{
    Assembly assembly = typeof(UnityEditor.EditorWindow).Assembly;
    Type type = assembly.GetType("UnityEditor.GameView");
    var gameView= UnityEditor.EditorWindow.GetWindow(type);
    //可以反射出其他字段和方法,看看是否有可以修改Game视图字段或者方法   
    PropertyInfo targetProperty = type.GetProperty("selectedSizeIndex");
    targetProperty.SetValue(gameView,18);
    UIModule.Instance.UIRoot.GetComponent<CanvasScaler>().referenceResolution = new Vector2(768, 1720);
}

//设置横屏
public void ChangeLandscape()
{
    Assembly assembly = typeof(UnityEditor.EditorWindow).Assembly;
    Type type = assembly.GetType("UnityEditor.GameView");
    var gameView= UnityEditor.EditorWindow.GetWindow(type);
    //可以反射出其他字段和方法,看看是否有可以修改Game视图字段或者方法   
    PropertyInfo targetProperty = type.GetProperty("selectedSizeIndex");
    targetProperty.SetValue(gameView, 19);
    UIModule.Instance.UIRoot.GetComponent<CanvasScaler>().referenceResolution = new Vector2(1920, 1080);
}

请注意selectedSizeIndex属性修改的是下图的尺寸编号

相关推荐
【 STM32开发 】13 分钟前
VSCode 安装图解
ide·vscode·编辑器
shehuiyuelaiyuehao26 分钟前
算法18,二分查找
java·开发语言·算法
weixin_4467291631 分钟前
java网络通讯
java·开发语言
NE_STOP31 分钟前
Redis--集群搭建与主从复制原理
java
好奇的菜鸟33 分钟前
Java开发常用中间件,Docker安装。
java·docker·中间件
许泽宇的技术分享36 分钟前
别再把 AI Agent 当“会聊天的脚本”:Hermes Agent 源码级拆解(架构、框架、实战、趋势,一文吃透)
java·linux·网络
程序员三明治1 小时前
【AI】Prompt 工程入门:从五要素框架到 RAG 生产级 Prompt 模板与 Java 实战
java·人工智能·后端·大模型·llm·prompt·agent
旷世奇才李先生1 小时前
React 18\+Next\.js 14实战:服务端渲染与跨端开发全指南
java·人工智能·python
跨境技工小黎1 小时前
亚马逊数据抓取怎么做?2026最新实战教程
java·大数据·数据库
罗超驿1 小时前
2.LeetCode 1089. 复写零——双指针解法学习笔记
java·算法·leetcode