Поделиться через


ElasticEase Класс

Определение

Представляет функцию плавности для создания анимации, напоминающую пружину, которая колеблется вперед-назад до полного успокоения.

public ref class ElasticEase sealed : EasingFunctionBase
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ElasticEase final : EasingFunctionBase
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
Наследование
Object Platform::Object IInspectable DependencyObject EasingFunctionBase ElasticEase
Атрибуты

Примеры

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

<StackPanel x:Name="LayoutRoot" >
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
            <DoubleAnimation From="1" To="6" Duration="00:00:3" 
                Storyboard.TargetName="rectScaleTransform" 
                Storyboard.TargetProperty="ScaleY">
                <DoubleAnimation.EasingFunction>
                    
                    <!-- Elastic easing function assigned to From/To animation -->
                    <ElasticEase x:Name="myElasticEase" Oscillations="3" 
                     Springiness="1" EasingMode="EaseOut"/>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>
    </StackPanel.Resources>

    <Rectangle PointerPressed="Pointer_Clicked" 
     Fill="Blue" Width="200" Height="30">
        <Rectangle.RenderTransform>
            <ScaleTransform x:Name="rectScaleTransform" />
        </Rectangle.RenderTransform>
    </Rectangle>

</StackPanel>
// When the user clicks the rectangle, the animation
// begins. 
private void Pointer_Clicked(object sender, PointerRoutedEventArgs e)
{
    myStoryboard.Begin();
}

Комментарии

ElasticEase — это одна из двух функций для реалистичной анимации, которая может выдавать значение вне нормального диапазона From/To . (Второй — BackEase.) При начале функции реалистичной анимации значение колеблется положительное и отрицательное значение вокруг значения From до тех пор, пока не достигнет окончательной положительной амплитуды, которая является значением To . Свойство Springiness изменяет синусоидальный характер этого колебания. При весенности 0 колебания в основном синусоидальные и напоминают типичную схему движения пружины. При больших значениях springiness это похоже на смачивание движения пружины.

Свойство Осцилляции объявляет, сколько раз функция колебается и пересекает значения, которые фактически ниже начального значения From .

Вы можете получить наилучшие результаты, просто поэкспериментируя со свойствами Springiness, Oscillations и EasingMode , пока анимация не будет визуально выполнять то, что нужно для сценария значения анимированного свойства.

BounceEase — это аналогичная функция, которая хорошо подходит для эмуляции физики в анимации. Разница с ElasticEase заключается в том, что bounceEase никогда не выходит за пределы диапазона От/до . Другой способ осмысления двух функций реалистичной анимации заключается в том, что ElasticEase — это то, что вы можете использовать для анимации выщипывания строки, в то время как BounceEase — это то, что вы можете использовать для отображения отскока мяча против линии или плоскости.

Функцию реалистичной анимации можно применять к свойствам EasingFunction анимаций From/To/By или к свойствам EasingFunction типов ключевых кадров, используемых для вариантов анимации по ключевым кадрам. Дополнительные сведения см. в разделах Анимация по ключевым кадрам и анимации функций для анимации по ключевым кадрам.

Конструкторы

ElasticEase()

Инициализирует новый экземпляр класса ElasticEase .

Свойства

Dispatcher

Всегда возвращает в null приложении Windows App SDK. Вместо этого используйте DispatcherQueue .

(Унаследовано от DependencyObject)
DispatcherQueue

Возвращает объект , DispatcherQueue с которым связан этот объект. представляет DispatcherQueue средство, которое может получить доступ к в потоке DependencyObject пользовательского интерфейса, даже если код инициируется потоком, не относящегося к пользовательскому интерфейсу.

(Унаследовано от DependencyObject)
EasingMode

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

(Унаследовано от EasingFunctionBase)
Oscillations

Получает или задает количество перемещений целевого объекта в анимации.

OscillationsProperty

Идентифицирует свойство зависимостей Осцилляции .

Springiness

Получает или задает жесткость пружины. Чем ниже значение свойства Springiness, тем пружина более жесткая и тем быстрее уменьшается интенсивность эластичности при каждом колебании.

SpringinessProperty

Определяет свойство зависимости Springiness .

Методы

ClearValue(DependencyProperty)

Очищает локальное значение свойства зависимостей.

(Унаследовано от DependencyObject)
Ease(Double)

Преобразует нормированное время для управления скоростью анимации.

(Унаследовано от EasingFunctionBase)
GetAnimationBaseValue(DependencyProperty)

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

(Унаследовано от DependencyObject)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей из DependencyObject.

(Унаследовано от DependencyObject)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если задано локальное значение.

(Унаследовано от DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Регистрирует функцию уведомления для прослушивания изменений определенного DependencyProperty в этом экземпляре DependencyObject .

(Унаследовано от DependencyObject)
SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей для Объекта DependencyObject.

(Унаследовано от DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Отменяет уведомление об изменениях, которое было ранее зарегистрировано путем вызова Метода RegisterPropertyChangedCallback.

(Унаследовано от DependencyObject)

Применяется к

См. также раздел