Cílem je animovat "displej" skládající se s mnoha malých segmentů v podobě ciferníků, kterými se simulují jednoduché znaky (písmena, číslice).
Jako základ poslouží projekt 112dials z repository grcis. Je připravena jednoduchá aplikace, ve které se používá třída Simulation obsahující triviální implementace všech důležitých metod: Simulate(), Visualize(), Update(), Reset() a reakce na události myši Mouse*().
V aplikaci uživatel může ovlivnit velikost výsledného obrázku (v pixelech), startovat a zastavovat simulaci, resetovat ji, nastavovat parametry přes řetězec anebo interaktivně do animace zasahovat pomocí levého tlačítka myši.
Nechte se inspirovat níže odkazovanými animacemi a zkuste implementovat nějaké zajímavé přechodové animace mezi jednotlivými znaky. Například byste mohli udělat simulaci digitálního budíku - HH:MM, případně i se sekundami HH:MM:SS. Animace v reálném čase!
Alternativna: obecný displej schopný zobrazit libovolný nápis. Při zadání nového textu (přes string param) se může displej pomocí animace překreslit na požadovaný nový nápis.
Několik odkazů na stránky ukazující princip "ciferníkového" displeje:
ARCFLY animace,
Instalace od studia "Humans Since 1982",
Pinterest: time.
Momentálně je v metodě Visualize() ukázka animace jednoho velkého ciferníku přes celou plochu obrázku. Vy budete muset kreslit větší množství ciferníků (například 4x6 ciferníků na jeden zobrazovaný znak, to už záleží na Vás). Jednotlivé znaky je potřeba simulovat pomocí vhodné orientace velkých a malých ručiček na všech cifernících.
V aplikaci je připraven základ pro interaktivní zásahy uživatele do simulace pomocí levého tlačítka myši. Můžete například zasahovat do simulovaného pole, startovat nebo ovlivňovat přechodovou animaci, apod. K dispozici máte obsluhu třech událostí: stisk levého tlačítka myši, uvolnění tlačítka a přesun ukazatele myši (drag).
Typicky budete muset předělat tyto metody:
Odevzdat do: 17. 12. 2017
Základ: 8 bodů (kreslení aspoň omezené množiny znaků, např. číslic),
až 3 body za přechodové animace,
až 3 body za rozšířenou sadu znaků,
+ další bonus za invenční řešení, zajímavé prvky nebo animace.
Visual Studio projekt: 112dials
Modifikujte a odevzdejte pouze soubor: Simulation.cs
Do funkce InitParams() napište své jméno!
Copyright (C) 2017 J.Pelikán, last change: 2019-05-09 17:52:59 +0200 (Thu, 09 May 2019)