返回介绍

GUISkin.GetStyle 获取样式

发布于 2019-12-18 15:37:48 字数 3957 浏览 902 评论 0 收藏 0

JavaScript => public function GetStyle(styleName: string): GUIStyle;
C# => public GUIStyle GetStyle(string styleName);

Parameters 参数

Description 描述

Get a named GUIStyle.

获取一个命名的GUIStyle。

JavaScript:

private var b : boolean;
 
	function OnGUI() {
		b = GUILayout.Toggle(b, "A toggle button", GUI.skin.GetStyle("Button"));
	}

Another example:

另一个例子:

JavaScript:

// 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();
		}
	}

And the script attached to this editor script:

并且脚本附加到该编辑器脚本

JavaScript:

// SimpleExampleScript.js
	// This is not an editor script.
 
	var armor : int = 75;
	var damage : int = 25;

C#:

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"));
    }
}

Another example:

另一个例子:

C#:

// 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();
		}
	}

And the script attached to this editor script:

并且脚本附加到该编辑器脚本:

C#:

// SimpleExampleScript.js
	// This is not an editor script.
 
	var armor : int = 75;
	var damage : int = 25;

guiskin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文