Užitečné komponenty pro Delphi a C++ Builder, díl 21.

Dnes se podíváme opět na několik vizuálních komponent. Nejprve si ukážeme jednoduchou simulaci semaforu a druhá komponenta nám zase poslouží k vytváření animací.

AMHTrafficLBMP a AMHTrafficLVecStd

Jedná se o dvě velice jednoduché vizuální komponenty, které simulují semafor. Jejich autorem je Adrian M. Hanslik. Máte na výběr mezi komponentou, která zobrazí semafor jako posloupnost jednotlivých obrázků ve formátu BMP – tedy každý stav semaforu má vlastní obrázek a mezi nimi komponenta přepíná. To má výhodu v tom, že můžete použít teoreticky libovolné, a tedy i vámi vytvořené obrázky. Nevýhodou však je, že takový semafor má pouze jeden jediný rozměr, který je dán právě použitými obrázky.

Tento problém řeší druhá komponenta, která jednotlivé stavy semaforu kreslí sama jako vektorovou grafiku, a tak je rozměr libovolný. Vizuálně má však tento semaforek o něco horší kvalitu než obrázky uložené v BMP, a proto se musíte rozhodnout, která varianta je pro vás použitelnější.

www
verze: 1.0
Delphi: 1-6
C++ Builder: ?

TAnimated

I druhá dnešní komponenta bude vizuální. Jejím autorem je L. David Baldwin, a jak již samotný název napovídá, bude mít něco společného s animací. Oč se tedy jedná konkrétně?

Představte si například, že chcete animovat nějaký efekt – například postupně se rozpadající nápis. S použitím této komponenty se vám práce o něco usnadní, i když stejně zůstane hlavní dřina na vás. Celá věc totiž funguje tak, že si nejprve nakreslíte jednotlivé fáze daného efektu políčko po políčku jako na filmu. Každý takový obrázek musí mít stejné rozměry a pochopitelně čím více jich vytvoříte, tím plynulejší animace bude. Všechna tato políčka výsledného "filmu" poté musíte uložit do jednoho BMP souboru pěkně vedle sebe, takže výsledný obrázek nakonec skutečně připomíná film. Šířka takového obrázku bude násobkem šířky jednotlivých políček a jejich počtu, takže to může vypadat jako docela dlouhá nudle. Tím ale vaše práce končí a o všechno ostatní se postará již komponenta.

Tento obrázek tedy načtete do komponenty a můžete začít animovat. K tomu slouží několik vlastností a metod – teď si je v krátkosti popíšeme:

Frame: Vlastnost, která udává právě aktuální frame (tedy políčko) vaší animace. Můžete jej libovolně měnit (pochopitelně v mezích délky vaší animace), a to jak v době běhu aplikace, tak během návrhu.

FrameCount: Udává, kolik políček celkem vaše animace má.

Interval: Tato položka určuje časovou prodlevu mezi dvěma políčky v milisekundách. Pokud zde nastavíte nulovou hodnotu, říkáte tím komponentě, že si budete políčka měnit sami prostřednictvím vlastnosti Frame.

Loop: Jak napovídá název, jedná se o logickou proměnnou, která určuje, zda bude animace přehrávána stále dokola, nebo se ukončí po zobrazení posledního políčka.

Play: Opět logická proměnná, jejímž nastavením na True vlastně spustíte celou animaci.

Reverse: A ještě jedna logická proměnná, která tentokrát určuje, zda bude animace přehrávána normálně či pozpátku.

TransparentColor: Velmi užitečná vlastnost, pomocí které můžete nastavit průhlednou barvu, a tak vaše animace může vypadat opravdu hezky bez nějakých rušivých podkladů.

Kromě těchto vlastností má komponenta i událost OnChangeFrame, která je vyvolána při změně framu. Toho lze využít například (jak se uvádí v nápovědě) k synchronizaci animace se zvuky. Příslušný zvuk se tak spustí přesně při zobrazení daného framu.

A to je vlastně vše. Netvrdím, že pomocí této komponenty vytvoříte nějaké úžasné animace, ale obsahuje vše potřebné pro jednoduchou práci a výsledný efekt bude spíš záviset na vašich uměleckých schopnostech při tvorbě jednotlivých políček animace. Pokud si však dáte tu práci a celé dílko navíc vhodně ozvučíte, jistě se nebudete muset za svůj výtvor stydět.

Komponenta je dodávána společně s ukázkovým projektem, takže některé základní postupy se můžete naučit přímo od autora. Zajímavé je však to, že na domovské stránce autora, která je uvedena jak v popisu komponenty tak v nápovědě, jsem komponentu nenašel. Nevím, jestli se jedná o natolik starý projekt, že se autor soustředil již na jiné věci, a nebo jen neumím hledat, ale každopádně uvedu jak odkaz na stránku autora (kde najdete mimochodem další zajímavé komponenty), tak odkaz pro download.

www, download
verze: 1.02
Delphi: ? (testováno bez problému na verzi 4)
C++ Builder: ?

Diskuze (1) Další článek: Cena StarOffice 6 zveřejněna

Témata článku: Software, Programování, Jednotlivé komponenty, Reversi, Baldwin, DEL, Celý film, Zajímavý efekt, Starý projekt, Užitečná vlastnost, Komp, Komponenta, Díl


Určitě si přečtěte

Platby kartou se můžou rozšířit úplně všude. Jako terminál poslouží mobil
Lukáš Václavík
BankaPlacení mobilemNFC
Elon Musk už není nejbohatší na světě. Během jediného dne přišel o 324 miliard korun
Karel Kilián
Jeff BezosTesla MotorsElon Musk
Microsoft pořád myslí i na odpůrce předplatného. Letos vydá Office 2021
Lukáš Václavík
Microsoft OfficeMicrosoft
Jak se šíří Covid v Česku: Čerstvá data, semafor PES, mapy okresů a obcí. Každý den aktualizované grafy

Jak se šíří Covid v Česku: Čerstvá data, semafor PES, mapy okresů a obcí. Každý den aktualizované grafy

** Vývoj COVID-19 v Česku: nakažení, úmrtí, testovaní, hospitalizovaní ** Mapa podle okresů, přehled podle věku, situace v Evropě i ve světě ** Každý den aktualizované grafy a mapy

Marek Lutonský | 172

Marek Lutonský
COVID-19Koronavirus
Vy a počítač: Virtuální plochy ve Windows mají smysl, používá je třetina čtenářů
Vladislav Kluska
Jak používáte počítačWindows 10Ankety
Můžete mít dvakrát rychlejší VDSL? Mapa Cetinu ukazuje, kde je dostupný bonding
Lukáš Václavík
CETINPřipojení k internetu

Aktuální číslo časopisu Computer

Megatest rychlých Wi-Fi 6 routerů

Jak ztišit počítač

Velký test mATX skříní