Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

IVisualElementScheduler

интерфейс в UnityEngine.UIElements

Описание

Планировщик обеспечивает функциональные возможности для очереди действий для выполнения в определенное время или продолжительность.

Вы можете использовать планировщик для создания анимации, обновления UI или создания задач, требующих задержки или повторяющихся действий.

Чтобы запланировать действие, используйте IVisualElementScheduler.Execute метод. Распорядитель запускает действие на следующем кадре.

A VisualElement связан с планировщиком, к которому вы можете получить доступ через VisualElement.schedule возвращает свойство. IVisualElementScheduledItem интерфейс, предоставляющий методы для планирования действия.

Например, вы можете отложить выполнение действия с помощью IVisualElementScheduledItem.StartingIn метод. Также можно указать условие для отмены расписания действия с помощью IVisualElementScheduledItem.Until метод.

Чтобы повторить действие через указанный интервал, используйте IVisualElementScheduledItem.Every метод. Чтобы удалить планировщик, используйте IVisualElementScheduledItem.Pause метод.

Планировщик активен только тогда, когда VisualElement подключен к панели. Отключение VisualElement от панели приостанавливает планировщик, а его повторное подключение возобновляет планировщик.

Дополнительные ресурсы: VisualElement.schedule, VisualElement.panel, IVisualElementScheduledItem

 // This example uses the scheduler to animate the title logo by changing its background image
 // to the next frame every 200 milliseconds.
 int m_CurrentTitleLogoFrame = 0;
 public List<Texture2D> m_TitleLogoFrames = new List<Texture2D>();
 // Animate title logo.
 var titleLogo = root.Q("menu-title-image");
 titleLogo?.schedule.Execute(() =>
 {
     if (m_TitleLogoFrames.Count == 0)
         return;

m_CurrentTitleLogoFrame = (m_CurrentTitleLogoFrame + 1) % m_TitleLogoFrames.Count; var frame = m_TitleLogoFrames[m_CurrentTitleLogoFrame]; titleLogo.style.backgroundImage = frame; }).Every(200);
 // This example uses the scheduler to animate the scaling of a VisualElement.
 IVisualElementScheduledItem m_AnimationScheduler = null;

public void DoScale() { // Scale the VisualElement. }

m_AnimationScheduler = this.schedule.Execute(DoScale).Every(1).StartingIn(0);

// Stop the animation m_AnimationScheduler.Pause();

Открытые методы

Метод Описание
ExecuteЗапланировать выполнение этого действия позднее.