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

スクリプト言語

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

EditorGUI.BeginProperty

フィードバック

ありがとうございます

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

閉じる

送信に失敗しました

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

閉じる

キャンセル

マニュアルに切り替える
public static function BeginProperty(totalPosition: Rect, label: GUIContent, property: SerializedProperty): GUIContent;
public static GUIContent BeginProperty(Rect totalPosition, GUIContent label, SerializedProperty property);

パラメーター

totalPosition 表示位置
label スライダーの前のオプションのラベル。 SerializedProperty から名前を使用するためには null を使用します。ラベルを表示させないためには GUIContent.none を使用します。
property コントロールに使用する SerializedProperty

戻り値

GUIContent コントロールに使用する実際のラベル

説明

SerializedProperty を GUI で管理しやすくするようにするためのプロパティーのラッパーである GUI グループを作成します

ほとんどの EditorGUIEditorGUILayout の GUI コントロールはすでに SerializedProperty で動作するオーバーロードを持ち合わせています。 ですが、以下の例のように SerializedProperty でハンドリングできないものに関しては BeginProperty と EndProperty でラップしてその内側に処理を書くことで GUI をコントロールすることが可能です。 独自の GUI コントロールを作成する場合にも使用することができます。

BeginProperty と EndProperty は自動的にデフォルトのラベル処理をします。プレハブにボールドフォントに上書きし、メニューを右クリックしてプレハブに戻ります。複数のオブジェクトを編集するとき、プロパティーの値が異なる場合は showMixedValue を True に設定します。

	// A slider function that takes a SerializedProperty
	function Slider (position : Rect, property : SerializedProperty, leftValue : float, rightValue : float, label : GUIContent) {
		label = EditorGUI.BeginProperty (position, label, property);
		
		EditorGUI.BeginChangeCheck ();
		var newValue = EditorGUI.Slider (position, label, property.floatValue, leftValue, rightValue);
		// Only assign the value back if it was actually changed by the user.
		// Otherwise a single value will be assigned to all objects when multi-object editing,
		// even when the user didn't touch the control.
		if (EditorGUI.EndChangeCheck ())
			property.floatValue = newValue;
		
		EditorGUI.EndProperty ();
	}

See Also: EndProperty.