当前位置: 首页 > article >正文

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

运行时修改Game窗口尺寸

//设置竖屏
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属性修改的是下图的尺寸编号


http://www.kler.cn/a/446145.html

相关文章:

  • 设计模式12:状态模式
  • JavaScript 中常见内置对象的知识点及示例总结
  • ViEW生命周期
  • 使用k6进行MongoDB负载测试
  • 深入解析MySQL Explain关键字:字段意义及调优策略
  • [Linux] 信号保存与处理
  • 如何用Redis实现分布式锁?
  • 账号安全再升级!跨境卫士的网页元素控制功能详解
  • 【单片机】IIC需要注意什么(企业级回答)
  • 使用RTP 协议 对 H264 封包和解包
  • 浏览器可以直接请求 websocket
  • 基于springboot+vue实现的医院急诊(病房)管理系统 (源码+L文+ppt)4-122
  • 变量的作用域和生命周期
  • docker pull失败处理
  • 人脸生成3d模型 Era3D
  • 【漏洞复现】CVE-2023-37461 Arbitrary File Writing
  • Web3.0安全开发实践:探索比特币DeFi生态中的PSBT
  • 网络安全-企业环境渗透2-wordpress任意文件读FFmpeg任意文件读
  • GESP CCF C++八级编程等级考试认证真题 2024年12月
  • Unity DOTS中的share component
  • 大数据机器学习算法和计算机视觉应用07:机器学习
  • 深入了解 MyBatis:简化 Java 数据库交互
  • K8s 节点 NotReady 后 Pod的变化
  • fpga系列 HDL:Quartus II 时序约束 静态时序分析 (STA) PLL生成时钟约束
  • WPF依赖属性详解
  • [项目代码] YOLOv8 遥感航拍飞机和船舶识别 [目标检测]