Novinky ve WPF 4 – Easing funkce
Dnešním článkem završím představování novinek ve WPF 4 a přesunu se k věcem více praktickým. Mezi ně může určitě patřit třeba zahrnutí některé z Easing funkcí, které dnes představím.
Easing funkce dovolují přidat matematické formule do prováděných animací, čímž dodají výsledné animaci na větší realističnosti a ta se pak zdá hladší. V současné chvíli tak můžete využít celkem 11 připravených funkcí a ovlivnit výslednou animaci ve dvou krocích. Můžete si tak vybrat ze dvou modů nastavitelných pomocí vlastnosti EasingMode, zda funkce bude aplikována na začátku animace EaseIn nebo na konci animace EaseOut, případně je tu třetí volba a to ovlivnění na obou koncích animace EaseInOut.
Představení easing funkcí
Jak nejlépe představit jednotlivé funkce než pohledem na ně. Na následujících obrázcích uvidíte vždy průběh dané funkce v čase a to vždy ve všech třech možnostech provádění. Vlevo je znázorněn průběh funkce při nastavení hodnoty EaseIn, uprostřed vidíte funkci probíhající dle EaseOut a vpravo pak kombinaci obou předchozích, tedy EaseInOut.
- BackEase -
- BounceEase -
- CircleEase -
- CubicEase -
- ElasticEase -
- ExponentialEase -
- PowerEase -
- QuadraticEase -
- QuarticEase -
- QuinticEase -
- SineEase -
Samozřejmě nejsme omezeni jen na těchto 11 předpřipravených funkcí, jenž jsem zde představil. Můžeme využít dědičnosti a napsat si vlastní funkci, která bude splňovat naše očekávání o průběhu animace. Toho dosáhneme tím, že podědíme naši třídu od bázové třídy EasingFunctionBase.
V případě, že budete chtít nějakým způsobem programově nakládat s více funkcemi, určitě se vám bude hodit znát interface IEasingFunction jenž je zároveň implementován bázovou třídou EasingFunctionBase.
Závěrem
V dnešním článku jsme si představili další z novinek, které přineslo WPF ve verzi 4.0 a jenž umožní hladší a realističtější průběh animací. Tímto článkem jsem se zároveň dostal z roviny teoretické k rovině více praktické a s končícími prázdninami tak zde opět najdete články, které by vám měli přinést praktický pohled na řešení úkolů při používání technologií využívajících XAML.
Komentáře