Version: 2017.1
public GUIStyle GetStyle (string styleName);

描述

获取命名的 GUIStyle

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private bool b; void OnGUI() { b = GUILayout.Toggle(b, "A toggle button", GUI.skin.GetStyle("Button")); } }

另一个示例:

    // Simple custom editor that when any SimpleExampleScript
    // is detected in the inspector, it shows it as an IntSlider
    // and a GUILayouted bar.

@CustomEditor(SimpleExampleScript) class CustomEditorExample extends Editor {

function OnInspectorGUI() { // Get the place of the next available position in the script target.damage = EditorGUILayout.IntSlider("Damage:",target.damage,1,100); ProgressBar (target.damage / 100.0, "Damage");

target.armor = EditorGUILayout.IntSlider("Armor:",target.armor,1,100); ProgressBar (target.armor / 100.0, "Armor");

}

// Custom GUILayout progress bar. function ProgressBar (value : float, label : String) { var size : Vector2 = GUI.skin.GetStyle("ProgressBarText").CalcSize(GUIContent(label)); var rect : Rect = GUILayoutUtility.GetRect (size.x, Mathf.Max(size.y)); rect = Rect(rect.x + 4, rect.y, rect.width -8, rect.height); EditorGUI.ProgressBar (rect, value, label); EditorGUILayout.Space(); } }

附加到该 Editor 脚本的脚本:

    // SimpleExampleScript.js
    // This is not an editor script.

var armor : int = 75; var damage : int = 25;