Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

GUIStyle.CalcSize

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public function CalcSize(content: GUIContent): Vector2;
public Vector2 CalcSize(GUIContent content);

Параметры

Описание

Вычисляет размер контента, если он представлен с этим стилем.

Перенос слов не влияет на эту функцию. Чтобы это исправить, нужно определить разрешенную ширину и затем вызвать CalcHeight чтобы вычислить высоту для переноса слов.

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

Скрипт, прикрепленный к данному скрипту редактора:

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