Diskuze: Program analogových hodin - plynulé posouvání ručiček
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Vypadá to, že dělíš celočíselně. Potřebuješ dělit tak, aby ti vyšlo reálné číslo, tedy třeba 6.5. Hodinová ručička bude pak mezi 6 a 7
ted už mi došlo že když je 3:20 tak hodiny budou 3.3
Já bych šel do XNA a nakreslil si to celé sám... I když WPF není ani omylem špatně.
this.hours
this.minutes
this.seconds
Proč je tam this? A vůbec - použij existující strukturu. Nejlépe DateTime...
Nevidím ale důvod, nač si tyto údaje ukládat. Normálně bych pracoval s DateTime.Now... Tak jako tady:
http://www.codeproject.com/…Clock-in-WPF
Jen se mi ten kód také úplně nezamlouvá - ale když to nebudeš jen kopírovat...
Počty zde:
secondHand.Angle = DateTime.Now.Second * 6;
minuteHand.Angle = DateTime.Now.Minute * 6;
hourHand.Angle = (DateTime.Now.Hour * 30) + (DateTime.Now.Minute * 0.5);
tak už to vypadá slibně
//tohle se jeví dobře nebo ne?
DoubleAnimation aniS = new DoubleAnimation(uhelS, uhelS + 360, new Duration(TimeSpan.FromSeconds(60)));
DoubleAnimation aniM = new DoubleAnimation(uhelM, uhelM - 6, new Duration(TimeSpan.FromSeconds(3600)));
DoubleAnimation aniH = new DoubleAnimation(uhelH, uhelH -30, new Duration(TimeSpan.FromSeconds(43200)));
jinak toto: "hourHand.Angle = (DateTime.Now.Hour * 30) + (DateTime.Now.Minute * 0.5);" - nějaké vystvětlení??
Prohlédni si, co jsem ti poslal... Trochu to jejich upravit a bude to dokonalé... Já bych to hlavně neviděl jako 3 různé animace. Nýbrž jako jednu, se 3 parametry - úhly...
A přesně jak je to tam - ručička je objekt - a tak se dá nastavovat. Nakonec by jsi ji mohl dát nastavit i obrázek... Takže si pohraj s objektovým návrhem - nezapomínej, co je C# zač...
Edit:
Musíš si stáhnout zdroják - na webu je jen ukázka - ve zdrojáku je vše...
něco jsem pochytil, ale mají tam timer
tak dělal jsem to přes animaci, což by mělo jít
Tady jde o to, aby byly přesné... Takže to chce Timer na 10ms.
nějak to zkusím, dík
Zobrazeno 11 zpráv z 11.