关闭

Unity 分隔条 Spliter

152人阅读 评论(0) 收藏 举报
分类:

splitview

[csharp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. using UnityEngine;  
  2. using UnityEditor;  
  3.   
  4. public class SplitViewWindow : EditorWindow  
  5. {  
  6.     private Vector2 scrollPos = Vector2.zero;  
  7.     float currentScrollViewHeight;  
  8.     bool resize = false;  
  9.     Rect cursorChangeRect;  
  10.   
  11.     [MenuItem("MyWindows/SplitView")]  
  12.     public static void Init()  
  13.     {  
  14.         EditorWindow t = GetWindow<SplitViewWindow>();  
  15.     }  
  16.   
  17.     void OnEnable()  
  18.     {  
  19.         this.position = new Rect(200, 200, 400, 300);  
  20.         currentScrollViewHeight = this.position.height / 2;  
  21.         cursorChangeRect = new Rect(0, currentScrollViewHeight, this.position.width, 5f);  
  22.     }  
  23.   
  24.     void OnGUI()  
  25.     {  
  26.         GUILayout.BeginVertical();  
  27.         scrollPos = GUILayout.BeginScrollView(scrollPos, GUILayout.Height(currentScrollViewHeight));  
  28.         for (int i = 0; i < 20; i++)  
  29.             GUILayout.Label("dfs");  
  30.         GUILayout.EndScrollView();  
  31.   
  32.         ResizeScrollView();  
  33.   
  34.         GUILayout.FlexibleSpace();  
  35.         GUILayout.Label("Lower part");  
  36.   
  37.         GUILayout.EndVertical();  
  38.         Repaint();  
  39.     }  
  40.   
  41.     private void ResizeScrollView()  
  42.     {  
  43.         GUI.color = Color.blue;  
  44.         GUI.DrawTexture(cursorChangeRect, EditorGUIUtility.whiteTexture);  
  45.         EditorGUIUtility.AddCursorRect(cursorChangeRect, MouseCursor.ResizeVertical);  
  46.   
  47.         if (Event.current.type == EventType.mouseDown && cursorChangeRect.Contains(Event.current.mousePosition))  
  48.         {  
  49.             resize = true;  
  50.         }  
  51.         if (resize)  
  52.         {  
  53.             currentScrollViewHeight = Event.current.mousePosition.y;  
  54.             cursorChangeRect.Set(cursorChangeRect.x, currentScrollViewHeight, cursorChangeRect.width, cursorChangeRect.height);  
  55.         }  
  56.         if (Event.current.type == EventType.MouseUp)  
  57.             resize = false;  
  58.     }  
  59. }  
0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:107603次
    • 积分:1963
    • 等级:
    • 排名:第19953名
    • 原创:47篇
    • 转载:281篇
    • 译文:1篇
    • 评论:18条
    最新评论