Version: 2020.1

EditorUtility.DisplayProgressBar

切换到手册
public static void DisplayProgressBar (string title, string info, float progress);

描述

显示或更新进度条。

窗口标题将设置为 /title/,信息将设置为 /info/。 进度应设置为 0.0 和 1.0 之间的一个值,0 表示一点儿也没有完成,1.0 表示完成 100%。

This is useful if you perform a long blocking operation in an Editor script, and want to notify the user about the progress. Note that this method is intended to be used for "modal" operations, i.e. a long operation that would make the editor non-responsive. For long operations that happen in the background, use Progress class instead.

After showing the progress bar, call ClearProgressBar to clear it.

See Also: DisplayCancelableProgressBar, ClearProgressBar methods, Progress class.


编辑器中的进度条。

using System.Threading;
using UnityEditor;
using UnityEngine;

// Shows a progress bar for the given number of seconds. public class EditorUtilityDisplayProgressBar : EditorWindow { public float secs = 5f; [MenuItem("Examples/Progress Bar Usage")] static void Init() { var window = GetWindow(typeof(EditorUtilityDisplayProgressBar)); window.Show(); }

void OnGUI() { secs = EditorGUILayout.Slider("Time to wait:", secs, 1.0f, 20.0f); if (GUILayout.Button("Display bar")) { var step = 0.1f; for (float t = 0; t < secs; t += step) { EditorUtility.DisplayProgressBar("Simple Progress Bar", "Doing some work...", t / secs); // Normally some actual computation would be here; // for this example just sleep. Thread.Sleep((int)(step * 1000.0f)); } EditorUtility.ClearProgressBar(); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961