Cum să dezactivați animațiile în Windows 7. Principiile de bază ale animației în WinRT

Principiile de bază ale animației

La prima vedere, se pare că animațiile sunt mai necesare de către programatorii care lucrează la jocuri sau la modelare. procese fizice. Sunt cu adevărat necesare în aplicații de afaceri silențioase și respectabile?

Cu toate acestea, animația joacă în aplicații Windows 8 un rol mai important decât ar părea. Acest subiect va fi tratat mai târziu, când ne uităm la utilizarea XAML pentru a crea obiecte ControlTemplate care suprascriu complet aspectul controalelor. Și deși cel mai mult aspect important ControlTemplate este un arbore vizual, șablonul trebuie să descrie și schimbarea aspect control în anumite condiţii. De exemplu, un control Buton poate fi evidențiat atunci când este făcut clic sau colorat culoare gri când este blocat. Toate aceste modificări ale aspectului ControlTemplate sunt definite ca animații - chiar dacă schimbarea este instantanee și seamănă puțin cu o animație.

Animațiile sunt, de asemenea, folosite pentru a defini tranzițiile între diferite vizualizări ale unei aplicații sau mișcarea elementelor pe măsură ce se fac modificări în colecții. Încercați să mutați țigla în Ecranul de start dintr-un loc în altul - veți vedea că plăcile adiacente se mișcă ca răspuns. Toate acestea se realizează prin animații, care joacă un rol important în estetica dinamică a Windows 8. În multe aplicatii moderne, cum ar fi programul pentru învățarea limbajelor de programare pascal abc, animațiile sunt folosite pentru a îmbunătăți capacitățile interfeței cu utilizatorul.

Spațiu de nume Windows.UI.Xaml.Media.Animation

Articolul „Cronometre și animații în WinRT” a arătat cum să animați obiecte folosind un eveniment CompozițieTarget.Rendering- o tehnică pe care am numit-o animație „manuală”. În timp ce animația desenată manual poate fi destul de puternică, are dezavantajele sale. Metodă sună din nou rulează întotdeauna pe firul UI, ceea ce înseamnă că animația poate încetini răspunsul programului la intrarea utilizatorului.

În plus, animațiile demonstrate cu CompositionTarget.Rendering au fost complet liniare, ceea ce înseamnă că au crescut sau scăzut liniar o anumită valoare în timp. Adesea, o ușoară modificare a ritmului unei animații o va face mai plăcută ochiului; De obicei, animația se accelerează la început și încetinește la sfârșit, uneori cu o ușoară „mișcare inversă” pentru un plus de realism. Desigur, astfel de animații pot fi realizate și folosind CompositionTarget.Rendering, dar organizarea calculelor necesare poate fi dificilă.

Următoarele exemple vor folosi instrumentele de animație Windows Runtime încorporate, constând din 71 de clase, 4 enumerari și 2 structuri, combinate într-un spațiu de nume Windows.UI.Xaml.Media.Animation. Aceste animații rulează adesea pe fire de fundal și acceptă o serie de capabilități pentru implementarea efectelor non-triviale. Foarte des, animațiile sunt definite în întregime în XAML și apoi declanșate din cod sau (într-un caz special, dar obișnuit) din XAML.

Desigur, însăși ideea de a stăpâni instrumentele de animație din 71 de clase pare descurajantă. Din fericire, aceste clase sunt împărțite în mai multe categorii generale, iar până la sfârșitul citirii acestui material, veți avea o înțelegere completă a structurii spațiului de nume.

Animația se bazează pe modificări ale unor proprietăți ale unui obiect. Această proprietate este adesea numită „proprietatea țintă” a animației. Animațiile Windows Runtime necesită ca proprietatea țintă să fie susținută de o proprietate de dependență și, prin urmare, definită într-o clasă care derivă din DependencyObject.

În unele medii grafice Sunt acceptate animațiile de cadre, în care ritmul animației este determinat de rata de cadre a ecranului. Diferențele în ratele de cadre pe diferite platforme hardware pot determina distorsionarea tempoului animației. Animațiile Windows Runtime sunt clasificate ca sincrone, adică sunt executate după intervale de timp reale: secunde și milisecunde.

Ce se întâmplă dacă firul care rulează animația are ceva de făcut și animația omite câteva bătăi? Animația cadru continuă de obicei din punctul în care a fost întreruptă. Sincron Animație Windows Runtime se adaptează la ora curentă si continua din starea in care ar trebui sa fie.

Un exemplu simplu de utilizare a animațiilor

Să începem prin a anima proprietatea FontSize a elementului TextBlock. Următorul proiect conține un panou Grid cu două rânduri cu un câmp TextBlock și Buton pentru a începe animația. Foarte des animațiile sunt definite în secțiunea Resurse element rădăcină fișier XAML. Animație simplă constă din obiecte StoryboardȘi DoubleAnimation: