例1:

using UnityEngine;

using System.Collections;

using UnityEditor;

using System.Collections.Generic;

[CustomEditor(typeof(CmyScriptableObject))]

public class myScriptableObjectCustomEditor : Editor

{

  public Vector2 scrollPosition = Vector2.zero;

  public int selGridInt = 0;

  public string[] selStrings = new string[] {"item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8"};

  public override void OnInspectorGUI()

  {

    DrawDefaultInspector ();

    CmyScriptableObject data = CmyScriptableObject)target;

    scrollPosition = EditorGUILayout.BeginScrollView (scrollPosition,"box",GUILayout.MaxHeight(90));

    {

      //ref: http://answers.unity3d.com/questions/37223/how-do-i-center-a-gui-label.html

      //ref: http://iaimstar.iteye.com/blog/2222128

      GUIStyle _style = GUI.skin.GetStyle ("MenuItemMixed");

      selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1,_style);

    }

    EditorGUILayout.EndScrollView ();

  }

}

例2:

using UnityEngine;

using System.Collections;

using UnityEditor;

using System.Collections.Generic;

[CustomEditor(typeof(CmyScriptableObject))]

public class myScriptableObjectCustomEditor : Editor

{

  public Vector2 scrollPosition = Vector2.zero;

  public int selGridInt = 0;

  public string[] selStrings = new string[] {"item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8"};

  public override void OnInspectorGUI()

  {

    DrawDefaultInspector ();

    CmyScriptableObject data = CmyScriptableObject)target;

    scrollPosition = EditorGUILayout.BeginScrollView (scrollPosition,"box",GUILayout.MaxHeight(90));

    {

      //ref: http://answers.unity3d.com/questions/37223/how-do-i-center-a-gui-label.html

      //ref: http://iaimstar.iteye.com/blog/2222128

      GUIStyle _style = GUI.skin.GetStyle ("helpbox");
        _style.onNormal.textColor=Color.blue;

      selGridInt = GUILayout.SelectionGrid(selGridInt, selStrings, 1,_style);

    }

    EditorGUILayout.EndScrollView ();

  }

}

自定义skin教程:http://forum.unity3d.com/threads/creating-custom-gui-skins-part-one.113055/

unity, GUIStyle and Skin的更多相关文章

  1. 王立平--Unity中间GUI Skin

    C#文字: public class NewBehaviourScript2 : MonoBehaviour { public Texture t; public GUISkin skin; // U ...

  2. Unity编辑器中分割线拖拽的实现

    GUI splitter control How can I make a GUI splitter control, similar to the splitter the console has? ...

  3. Unity编辑器的扩展:IMGUI

    IMGUI 介绍 所有关于 Editor 的相关 UI,包括 Inspector.Hierarchy.Window.Game 视图上动态创建的那些半透明 UI.还有 Scene 视图上可添加的辅助显示 ...

  4. NetworkManager网络通讯_Example(一)

    ---恢复内容开始--- 用户手册,范例精讲. 用户手册上给出了一个简单的范例,并指出可以以此为基础进行相开发,再次对范例进行精讲.(NetworkManager对使用unity的轻量级游戏开发有很大 ...

  5. Unity-编辑器拓展之GUILayout,EditorGUILayout布局 { }

    Unity 脚本 API 中文版 链接: https://docs.unity3d.com/cn/2019.4/ScriptReference/ 创建自定义窗口 public class MyWind ...

  6. 显示游戏FPS帧率的几种计算方式

    FPSDisplay.cs using UnityEngine; using System.Collections; public class FPSDisplay : MonoBehaviour { ...

  7. 常见UI组件的一个模板

    效果: 代码: using UnityEngine; using UnityEditor; using System.Collections; using System.IO; using Unity ...

  8. Unity编辑器:自定义编辑器样式——GUIStyle

    通过GUIStyle,可以自定义Unity编辑器的样式. GUIStyle可以new一个全新的实例,这样,需要自己处理所有自己需要的效果. GUIStyle还可以基于已经存在的实例new一个新的实例, ...

  9. Unity编辑器扩展中,使用Unity自带的GUIStyle

    在进行编辑器扩展时,创建组件的方法一般都会提供GUIStyle参数,可以让我们自定义样式.修改背景图,字体大小,颜色等等. 比如,创建Button组件的方法:public static bool Bu ...

随机推荐

  1. (转)h264中avc和flv数据的解析

    计算 AVCDecoderConfigurationRecord  得到 CodecPrivateData 数据(只有第一帧需要): 计算 NALUs 得到帧数据. 计算 AVCDecoderConf ...

  2. 【资料】wod强壮护符

    泛用耗材 损坏的 卡罗先活力护符 小型的 强壮护符 改良的 鲁比斯护符   否定护符   活跃护符   自然防御护符   防御疾病护符 特定职业使用耗材护符 野蛮人 诗人 祭司 泛用 仪式用巴博许教的 ...

  3. gitignore不起作用解决的方法

    前面有文章介绍了使用gitignore文件的方法,该文件表示过滤规则,可是对已经增加版本号库的文件不能生效,因此须要利用命令将想要忽略的文件从版本号库中删除,比方说.我们对androidproject ...

  4. PulsingHalo(自定义涟漪)的使用方法

    PulsingHalo的git地址是: https://github.com/shu223/PulsingHalo Objective - C 一丶PulsingHalo的实例化和启动: Pulsin ...

  5. PhD Positions opening at University of Nevada, Reno (Wireless Networking / Cognitive Radio / Wireless Security)

    PhD Positions opening at University of Nevada, RenoDept. of Computer Science and Engineering Researc ...

  6. dedecms织梦 v5.5 两处跨站漏洞

    漏洞版本: dedecms织梦5.5 漏洞描述: 北洋贱队(http://bbs.seceye.org)首发 demo1:http://www.dedecms.com/plus/search.php? ...

  7. SpringSecurity实现后台管理员登录(二)

    需求:login.ftl页面中登录成功后进入index.ftl页面中 一.pom.xml中添加json转换相关的包 <dependency> <groupId>com.fast ...

  8. HTML5-IOS WEB APP应用程序(IOS META)

    触摸屏网站的开发其实现在来讲比前几年移动端网站开发好多了,触摸屏设备IOS.Android.BBOS6等系统自带浏览器均为WEBKIT核心,这就说明PC上面尚未立行的HTML5 CSS3能够运用在这里 ...

  9. Linq 使用注意

    今天在使用Linq的时候,查询很慢.仔细查看在知道,在in的后面跟的是个方法,这个方法返回一个集合. Linq只是语法糖,内部进行了封装.内部的实现也是遍历集合,找到满足条件的元素. 在in的后面使用 ...

  10. 如何获取浏览器URL中查询字符串的参数?

    如何获取浏览器URL中查询字符串的参数? 想要知道怎样解决这个问题,首先我们先认识一下Location对象. Location对象包含了当前页面与位置(url)相关的信息 URL示例:http://w ...