关闭

Unity 分隔条 Spliter

355人阅读 评论(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
查看评论

MFC对话框分隔条的实现

大家好!这是一个实现对话框分隔条的类和例子代码,希望对大家有用。   使用场合:将一个对话框分隔成多个子对话框 下载地址:http://download.csdn.net/download/godsunsuny_tom_com/980521 或者 http://download.csdn.net/d...
  • u011711997
  • u011711997
  • 2014-02-18 10:09
  • 853

MFC分屏之后分隔条固定

分割窗口的方法见MFC基于单文档分割窗口这篇文章 采用这种思想但是最后最终在代码中实现的是分成两一列,再把第一行分成一行两列的效果 分割之后想固定分隔条的大小 类视图->添加类-> 然后再手动改为继承CSplitterWnd类 重载OnLButtonDown,OnLBu...
  • yanyuanyaun77
  • yanyuanyaun77
  • 2017-06-28 10:32
  • 258

WPF中分割条的运用

 在WPF窗口布局中,我们经常要用到窗口的分割,这篇文章主要是介绍怎样用GridSpliter分割窗口GridSpliter主要是用在布局控件GRID中,指定要分割的位置,第几行,第几列就可以实现格子的分割了。既然要做到划分总个窗体,我们需要把格子的高和宽同窗口的实际高和宽绑定在一起,以此...
  • artlife
  • artlife
  • 2007-01-08 17:24
  • 2465

Qt代码创建分隔条

我们在使用Qt时,会发现在使用UI界面时可以添加窗口分隔条,但我们使用纯代码时却没有分隔条的类函数。这时候我们就需要手动添加,添加方式和Qt自定义标签按钮一样,下面我直接写代码。如果不知道怎么添加的,请先转到Qt自定义标签按钮。 splitLine.h文件: 1 #ifndef SPL...
  • u012433546
  • u012433546
  • 2017-08-06 21:21
  • 423

Unity UGUI实现分段式血条

我们可以看到像英雄联盟等游戏里英雄头顶的血条显示并非是纯色的,而是根据血量的多少而显示一定量的格子,这种方式明显是比较友好、比较美观的,事实上我们的游戏里面也想实现这样的效果,那该怎么办呢?根据血量的多少同时创建N多个小格子图片?这明显不合理;根据血量多少同时创建N多个分割线来拆分图片?这也不合理。...
  • qq992817263
  • qq992817263
  • 2016-10-20 14:21
  • 5336

Unity血条实现

用unity中的2D->sprite实现血条,首先创建一个空物体title,接着创建一个2D->Sprite命名为BG,将Sprite Renderer的Sprite设置成框的图片,在BG下创建一个子物体2D->Sprite将sprite设置为红色血条图片。 将以下脚本挂载在BG...
  • u011244737
  • u011244737
  • 2015-12-03 16:48
  • 1230

为JSplitPane的分隔条添加监视器

// 添加监视器this.addPropertyChangeListener("dividerLocation", new MainPanelPropertyChangeListener()); // 监视器的实现类 public class MainP...
  • gxlstone
  • gxlstone
  • 2013-12-31 22:58
  • 444

Unity制作头顶血条方式对比与优化

制作方式主要有四种:OnGUI、NGUI、UGUI、Shader区别 UGUI的Canvas 有世界坐标和屏幕坐标 UGUI的Image可以使用material UGUI通过Mask来裁剪,而NGUI通过Panel的Clip NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根...
  • haobaworenle
  • haobaworenle
  • 2017-09-22 11:40
  • 433

超级简单的UGUI血条制作技巧

1.新建一个Plane 放置一个Cube 2.添加2个 Button 模拟血条 2.1 删除2个Button中没用的组件,比如Button(script)组件,实际上只用Image组件来显示血量就可以 2.2 将两个的位置关系变为父子,外侧就叫”btnAllHp...
  • cuiyh1993
  • cuiyh1993
  • 2015-12-23 19:49
  • 6588

Unity中UGUI人物血条跟随的几种实现方式(二)

具体场景布置请参考上一篇博文http://blog.csdn.net/u011185231/article/details/50363392 现在我们讲第二种,相比第一种也很简单 大概原理是:把Player的世界坐标转为屏幕坐标,血条坐标就等于Player的屏幕坐标加上Player中心点到头顶的...
  • u011185231
  • u011185231
  • 2015-12-20 12:50
  • 10963
    个人资料
    • 访问:256221次
    • 积分:3998
    • 等级:
    • 排名:第9337名
    • 原创:101篇
    • 转载:295篇
    • 译文:1篇
    • 评论:29条
    博客专栏