Unity3d脚本15:GUI风格设置类GUIStyle
来源:第三维度
GUIStyle类
GUIStyle类GUI元素的风格位置,这个类包含一个GUI元素如何被渲染的所有信息。它包含用于字体,图标位置,背景图标,和间距的信息。它不包含关于它包含什么的信息 – 仅仅定义用这个风格渲染的文本如何被显示。它不定义这个元素可以发生什么交互,但是定义了用于交互的显示设置。
一个GUIStyle的设置。这是模仿一个CSS样式。它包含下列事项的设置:
背景图片
这些被渲染在空间后面。不同的图像可以被指定为正常显示。当用户将鼠标放在元素上时的显示,当使用者按下选择 – 以及当元素被打开,如触发按钮,下面的这些都被称为风格的状态。参见:normal, hover, active, onNormal, onHover, onActive – 这些包含每个状态的背景图片,文本颜色属性。
文本渲染
这个风格都可以定义一个字体渲染,以及文本对齐,换行和剪裁的设置,它也定了该风格元素不同状态的文本颜色参考 : font, alignment, wordWrap, normal, hover, active, onHover, onActive
图标位置
GUIStyle可以渲染文本,图标或者两者兼而有之。GUIStyle定义渲染时这两者间的相关位置(这可以强制它只显示他们其中之一)。参见:imagePosition
尺寸和间距选项
GUIStyle包含填充,边缘和边界。这些不严格地对应类似命名的CSS属性。一个GUIStyle可以选择的定义一个固定的宽度和高度。参见:margin, padding, border, fixedWidth, fixedHieght
变量
◆ var active : GUIStyleState // 描述:空间被按下时的渲染设置。
◆ var alignment : TextAnchor // 描述:文本对齐
◆ var border : RectOffset // 描述:所有背景图片的边界。 这个对应于GUITexture的边界设置。它只影响渲染的背景图像,不影响定位。
◆ var clipOffset : Vector2 // 描述:用于该GUIStyle内容的剪裁偏移。
◆ var clipping : TextClipping // 描述:当渲染的内容相对于给定的区域太大时做什么
◆ var contentOffset : Vector2 // 描述:用于该GUIStyle内容的像素偏移。
◆ var fixedHeight : float // 描述:如果非0,任何用这个风格渲染的GUI元素将有这里指定的高度。
◆ var fixedWidth : float // 描述:如果非0,任何用这个风格渲染的GUI元素将有这里指定的宽度。
◆ var focused : GUIStyleState // 描述:元素获得键盘焦点时的渲染设置。
◆ var font : Font // 描述:用于渲染的字体。如果null,当前的GUISkin的默认字体将被使用。
◆ var hover : GUIStyleState // 描述:鼠标悬停在控件时的渲染设置。
◆ var imagePosition : ImagePosition // 描述:GUIContent的图片和文本如何组合。
◆ var lineHeight : float // 描述:这个风格一行文本的高度。以像素为单位。(只读)
◆ var margin : RectOffset // 描述:以这种风格渲染的元素和任何其他GUI元素之间的边界。 这个只影响自动布局。(参见 : GUILayout)
◆ var name : string // 描述:GUIStyle的名称。用来基于名称获取它们。
◆ var normal : GUIStyleState // 描述:组建正常显示是渲染设置。
◆ var onActive : GUIStyleState // 描述:元素被打开并具有键盘焦点时的渲染设置。
◆ var onFocused : GUIStyleState // 描述:元素被打开并被按下时的渲染设置。
◆ var onHover : GUIStyleState // 描述:控件被打开并且鼠标悬停在它上面时的渲染设置
◆ var onNormal : GUIStyleState // 描述:控件被打开时的渲染设置。
◆ var overflow : RectOffset // 描述:添加到背景图片的额外间距。这可用于如果你的图片要投射一个阴影,并且向扩展背景图片超出使用这个风格的制定GUI元素的矩形时。
◆ var padding : RectOffset // 描述:从GUIStyle边界到内容开始的间距
◆ var stretchHeight : bool // 描述:这个风格的GUI元素可以被垂直拉伸以便更好的布局么?
◆ var stretchWidth : bool // 描述:这个风格的GUI元素可以被水平拉伸以便更好的布局么?
◆ var wordWrap : bool // 描述:文本换行? 这将导致任何包含的文本被换行以便适应控件的宽度。
构造函数
◆ static function GUIStyle() : GUIStyle // 描述:
◆ static function GUIStyle(other:GUIStyle) : GUIStyle // 描述:
函数
◆ function CalcHeight(content : GUIContent, width : float) : float // 描述:当渲染content并制定width时这个元素的高度。
◆ function CalcMinMaxHeight (content : GUIContent, outminWidth : float, outmaxWidth : float) : void // 描述:计算以这个风格渲染的content的最大最小宽度。 被GUILayout使用来正确处理换行。
◆ function CalcScreenSize(contentSize : Vector2) : Vector2 // 描述:计算用这个风格格式化的元素的尺寸,和一个给定的内容空格。
◆ function CalcSize(content : GUIContent) : Vector2 // 描述:如果内容使用这个风格渲染,计算某些内容的尺寸。这个函数不考虑换行。要做到这点,你需要确定宽度,然后打调用CalcHeight分配计算出wordwrapped高度。
◆ function Draw(position : Rect, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void // 描述:
◆ function Draw(position : Rect, text : string, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void // 描述:用GUIStyle绘制一个文本字符串。
◆ function Draw(position : Rect, image : Texture, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void // 描述:用GUIStyle绘制图片。如果图片太大,它将被缩小。
◆ function Draw(position : Rect, content : GUIContent, isHover: bool, isActive : bool, on : bool, hasKeyboardFocus : bool) : void // 描述:用GUIStyle绘制文本和图片。如果图片太大,它将被缩小。
◆ function Draw(position : Rect, content : GUIContent, controlID : int, on : bool = false) : void // 描述:GUI代码中使用的主要绘制函数。
◆ function DrawCursor(position : Rect, content : GUIContent, controlID : int, Character : int) : void // 描述:用选定的内容绘制这个GUIStyle
◆ function DrawWithTextSelection(position : Rect, content : GUIContent, controlID : int, firstSelectedCharacter : int, lastSelectedCharacter : int) : void // 描述:用选定的内容绘制这个GUIStyle
◆ function GetCursorPixelPosition(position : Rect, content : GUIContent, cursorStringIndex : int) : Vector2 // 描述:获取给定字符串索引的像素位置。
◆ function GetCursorStringIndex(postion : Rect, content : GUIContent, cursorPixelPosition : Vector2) : int // 描述:当用户在cursorPixelPosition处点击时获取光标位置(索引到内容文本)这部计算内容中任何图片。
类变量
◆ static var none : GUIStyle // 描述:空GUIStyle的快捷方式。 这个风格不包含装饰而仅仅以缺省字体渲染所有东西。
function OnGUI()
{
GUI.Button(“I’m very bare”, GUIStyle.none); //制作一个没有装饰的按钮
}
类方法
◆ static implicit function GUIStyle(str : string) : GUIStyle // 描述:从当前皮肤获取一个名为GUI风格。