Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

GUIStyle.CalcSize

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
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;