ElasticEase Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa una función de entradas y salidas lentas que crea una animación similar a un muelle oscilando de un lado a otro hasta que se detiene.
public ref class ElasticEase sealed : EasingFunctionBase
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 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.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ElasticEase final : EasingFunctionBase
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ElasticEase : EasingFunctionBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
Ejemplos
En este ejemplo xaml se aplica una función de aceleración ElasticEase a un DoubleAnimation para crear una animación similar a una oscilación de muelle hacia atrás y hacia adelante hasta que llegue a descansar.
<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();
}
' When the user clicks the rectangle, the animation
' begins.
Private Sub Pointer_Clicked(ByVal sender As Object, ByVal e As PointerRoutedEventArgs)
myStoryboard.Begin()
End Sub
Comentarios
ElasticEase es una de las dos funciones de aceleración que pueden generar un valor fuera del intervalo normal De/a . (El otro es BackEase). A medida que comienza la función de aceleración, el valor oscila positivo y negativo alrededor del valor From hasta que alcanza una amplitud positiva final que es el valor To . La propiedad Springiness modifica el carácter sinusoidal de esta oscilación. Con la primavera de 0, la oscilación es básicamente sinusoidal y se parece a un diagrama típico del movimiento de un muelle. Con valores de springiness más grandes, es como amortiguar el movimiento del muelle.
La propiedad Oscilaciones declara cuántas veces oscila la función y cruza en valores que están realmente por debajo del valor From inicial.
Puede obtener los mejores resultados experimentando con las propiedades Springiness, Oscilaciones y EasingMode hasta que la animación esté haciendo visualmente lo que desea para el escenario de valor de propiedad animado.
BounceEase es una función de aceleración similar que funciona bien para la emulación física en animaciones. La diferencia con ElasticEase es que un BounceEase nunca irá fuera del intervalo De/a . Otra manera de conceptualizar las dos funciones de aceleración es que ElasticEase es lo que puede usar para animar el desacierto de una cadena, mientras que BounceEase es lo que puede usar para mostrar el rebote de una bola en una línea o plano.
Una función de aceleración se puede aplicar a las propiedades EasingFunction de las animaciones From/To/By , o a las propiedades EasingFunction de tipos de fotograma clave usados para las variantes De aceleración de animaciones de fotograma clave. Para obtener más información, consulta Animaciones de fotograma clave y animaciones de función de aceleración.
Constructores
ElasticEase() |
Inicializa una nueva instancia de la clase ElasticEase . |
Propiedades
Dispatcher |
Obtiene el CoreDispatcher al que está asociado este objeto. CoreDispatcher representa una instalación que puede tener acceso a DependencyObject en el subproceso de interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código. (Heredado de DependencyObject) |
EasingMode |
Obtiene o establece un valor que especifica cómo se interpola la animación. (Heredado de EasingFunctionBase) |
Oscillations |
Obtiene o establece el número de veces que el destino se desliza de un lado a otro mientras dura la animación. |
OscillationsProperty |
Identifica la propiedad de dependencia Oscilaciones . |
Springiness |
Obtiene o establece la rigidez del muelle. Cuanto menor sea el valor de Springiness, mayor será la rigidez del muelle y más rápidamente aumentará la elasticidad en intensidad en cada oscilación. |
SpringinessProperty |
Identifica la propiedad de dependencia Springiness . |
Métodos
ClearValue(DependencyProperty) |
Borra el valor local de una propiedad de dependencia. (Heredado de DependencyObject) |
Ease(Double) |
Transforma el tiempo normalizado para controlar el ritmo de una animación. (Heredado de EasingFunctionBase) |
GetAnimationBaseValue(DependencyProperty) |
Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa. (Heredado de DependencyObject) |
GetValue(DependencyProperty) |
Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject. (Heredado de DependencyObject) |
ReadLocalValue(DependencyProperty) |
Devuelve el valor local de una propiedad de dependencia, si se establece un valor local. (Heredado de DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject . (Heredado de DependencyObject) |
SetValue(DependencyProperty, Object) |
Establece el valor local de una propiedad de dependencia en dependencyObject. (Heredado de DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Cancela una notificación de cambio registrada anteriormente llamando a RegisterPropertyChangedCallback. (Heredado de DependencyObject) |