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 .../>
- Наследование
- Атрибуты
Примеры
В этом примере 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 |
Всегда возвращает в |
DispatcherQueue |
Возвращает объект , |
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) |