例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. Caliburn.Micro对目录结构的要求

    Caliburn.Micro对MVVM目录结构的要求判定规则是如下正则表达式: (?<nsbefore>([A-Za-z_]\w*\.)*)(?<subns>ViewModel ...

  2. Unity3D如何减少安装包大小

    译官方文档:http://docs.unity3d.com/Manual/ReducingFilesize.html PDF文档:http://www.rukawa.cn/Uploads/Attach ...

  3. Nescafé2 月之谜 题解

    月之谜 (mystery.pas/c/cpp) [题目描述] 打败了 Lord lsp 之后,由于 lqr 是一个心地善良的女孩子,她想净化 Lord lsp 黑化的心,使他变回到原来那个天然呆的 l ...

  4. [Todo]提升电商网站性能方面的一些资料材料

    又到国庆,喷一喷12306.cn的技术架构 http://chengxu.org/p/369.html 其中用到了不少比较细节的优化技巧. 提到库存管理是电商非常难的地方.也讲了跟秒杀相关的一些内容.

  5. PowerDesigner概念设计模型(CDM)中的3种实体关系

    CDM 是大多数开发者使用PD时最先创建的模型,也是整个数据库设计最高层的抽象.CDM是建立在传统的ER图模型理论之上的,ER图中有三大主要元素: 实体型,属性和联系.其中实体型对应到CDM中的Ent ...

  6. CentOS6.4下Samba服务器的安装与配置

    一.先恶狠狠地吐槽一下: 这篇随笔真是让我折腾了2天2夜才敢下笔写!!!为什么呢?之前是通过去Samba的官网下载的源码包,也就是.tar.gz来进行安装配置,不过这个让我折腾来折腾去就是没折腾出结果 ...

  7. 论#include

    1.#include " "与#include <> #include " "表示预编译命令源程序在当前项目下寻找头文件,如果找不到,再到标准头文件 ...

  8. Chrome插件-把网页图片上传到七牛空间一

    功能:图片上右键,点击上传图片到七牛,把图片上传的指定空间并返回图片URL. Chrome插件本质就是js代码,但是里面有一些限制,比如事件绑定等和普通js的绑定是有区别的,主要是为了安全性考虑. 做 ...

  9. PHP Filesysten函数

    PHP 5 Filesystem 函数 PHP Filesystem 简介 Filesystem 函数允许您访问和操作文件系统. 安装 Filesystem 函数是 PHP 核心的组成部分.无需安装即 ...

  10. 异步任务,HttpContext.Current为null解决办法

    最近在开发一个后台管理系统项目,为了提高登录的速度,就把记录登录日志放到一个异步任务里面. Action taskAction = () => { SaveLog(); }; Task task ...