EditorPrefs.GetBool 获取布尔

static function SetBool (key : string, value : bool) : void

Description描述

Returns the value corresponding to key in the preference file if it exists.

如果存在,返回相应偏好设定文件的键值。

If it doesn't exist, it will return defaultValue.

如果不存在,将返回默认值。

EditorPrefs.GetBool 获取布尔

Round rotations/positions and remember the active option.

四舍五入旋转/位置并记住激活的选项。

// Simple script that lets you round rotations and
// round your positions of your selected objects.
// and it remembers which option is being active
//四舍五入旋转/位置并记住激活的选项。

class EditorPrefsBool extends EditorWindow {

	var showRoundPosition : boolean = true;
	var showRoundRotation : boolean = true;

	@MenuItem("Examples/Round positions-rotations")
	static function Init() {
		var window = GetWindow(EditorPrefsBool);
		window.Show();
	}
	function OnGUI() {
		showRoundPosition = EditorGUILayout.BeginToggleGroup("Round Position",showRoundPosition);
		if(GUILayout.Button("Round Position!"))
			DoRoundPosition();
		EditorGUILayout.EndToggleGroup();
		showRoundRotation = EditorGUILayout.BeginToggleGroup("Round Rotation", showRoundRotation);
		if(GUILayout.Button("Round Rotation!"))
			DoRoundRotation();
		EditorGUILayout.EndToggleGroup();
	}

	function DoRoundPosition() {
	for (var t : Transform in Selection.transforms)
			t.localPosition = Vector3(Mathf.Round(t.localPosition.x),
			Mathf.Round(t.localPosition.z),
			Mathf.Round(t.localPosition.y));
	}
	function DoRoundRotation() {
		for (var t : Transform in Selection.transforms)
			t.rotation = Quaternion.Euler(
			Vector3(Mathf.Round(t.eulerAngles.x / 45f) * 45f,
			Mathf.Round(t.eulerAngles.y / 45f) * 45f,
			Mathf.Round(t.eulerAngles.z / 45f) * 45f));
	}
	function OnFocus() {
		if(EditorPrefs.HasKey("ShowRoundPosition"))
			showRoundPosition = EditorPrefs.GetBool("ShowRoundPosition");
		if(EditorPrefs.HasKey("ShowRoundRotation"))
			showRoundPosition = EditorPrefs.GetBool("ShowRoundRotation");
	}

	function OnLostFocus() {
		EditorPrefs.SetBool("ShowRoundPosition", showRoundPosition);
		EditorPrefs.SetBool("ShowRoundRotation", showRoundRotation);
	}
	function OnDestroy() {
		EditorPrefs.SetBool("ShowRoundPosition", showRoundPosition);
		EditorPrefs.SetBool("ShowRoundRotation", showRoundRotation);
	}
}
最后修改:2011年7月11日 Monday 17:44

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。