Jak na zobrazení svátků ve Flashi?

4. října 2001

V dnešním článku bych vám chtěl ukázat to, že umístit si na svoji webovou prezentaci ve Flashi datum včetně svátků jde i bez znalostí a přístupů k ASP, PHP, SQL databází apod. Potřebujete k tomu akorát datový soubor v podobě textového souboru, kde jsou uloženy jednotlivé svátky.

Dnešní ukázka by vám měla posloužit pouze jako demonstrativní příklad a každý z vás si jistě navrhne svůj design zapadající do vlastní koncepce stránky.

Dnešní ukázka nebude vůbec náročná na tvorbu a hravě ji zvládne každý začátečník. V panelu Movie (ctrl+m) jsem ponechal skoro veškeré výchozí hodnoty. Velikost scény 550 x 400 px, rychlost přehrávání na 12 framů/s a barvu jsem si vybral šedou (#cccccc). Nyní si připravíme jednotlivé texty. Do černého obdélníku, který jsme si vytvořili nástrojem čtverec (R) a velikost 480 x 48 px jsem si nastavil v panelu Info (ctrl+alt+i).

info

Nástrojem text (T) (font Arial, 40 px, barva bílá) si napíšeme text: „Datum:“. Pomocí panelu zarovnání Align (ctrl+k) zarovnáme oba objekty na střed plochy.

Zarovnání

Za pomocí nástroje šipka (V) a přidržením klávesy Shift přemístíme oba objekty směrem nahoru, cca do jedné šestiny plochy. Podobně si připravíme políčka s nápisy „Dnes:“ a „Zítra:“, které umístíme podle ukázky do zbylé části.

Následující políčka, která budeme vytvářet, jsou tzv. dynamické proměnné. Tzn., proměnné měnící se průběžně podle výpočtu. Nástrojem text (T) (font Arial, 36 px, barva zelená #386800) a za pomoci stisknutého levého tlačítka na myši si vytvoříme textové pole, jehož velikost 480 x 48 px si můžeme opět nastavit v panelu Info (ctrl+alt+i).

V panelu Text options si nastavíme jednotlivé hodnoty podle obrázku. Z roletkového seznamu si vybereme Dynamic text a do políčka Variable napíšeme „a“, což je název naší proměnné.

proměnné

Tento objekt zarovnáme na střed (ctrl+k) pod černý obdélník s nápisem „Datum:“, což představuje výškově jednu třetinu plochy. Stejným postupem si vytvoříme zbylé dvě dynamické proměnné „b“ a „c“, které opět zarovnáme na střed a umístíme postupně pod políčka s nápisy „Dnes“ a „Zítra“.

Poslední důležitou věcí, kterou bychom potřebovali vytvořit, je seznam proměnných, z kterého nám bude program podle aktuálního datumu přiřazovat k jednotlivým proměnným svátky. Toto pole nám představuje textový soubor s jednotlivými proměnnými a svátky. Abych vám ušetřil čas s přípravou proměnných, tak si můžete tento soubor stáhnout zde. Je důležité, aby tento soubor se nacházel ve stejném adresáři jako zdrojový *.fla soubor. Dále si vytvoříme si nový Layer, do kterého budeme zadávat následující příkazy. Nad prvním políčkem pravým tlačítkem myši si vyvoláme Menu, z kterého si vybereme položku Actions a vložíme tuto první akci:

loadVariablesNum („data.txt“, 0);

Tento příkaz nám zajistí načtení datového souboru do paměti počítače. To je malá daň za řešení bez ASP, PHP. Do druhého políčka vložíme následující akce:

datum = new Date();
po = datum.getDay();
if (po==0) {
dn = „neděle“;
} else if (po==1) {
dn = „pondělí“;
} else if (po==2) {
dn = „úterý“;
} else if (po==3) {
dn = „středa“;
} else if (po==4) {
dn = „čtvrtek“;
} else if (po==5) {
dn = „pátek“;
} else if (po==6) {
dn = „sobota“;
}
den = datum.getDate();
mesic = ++datum.getMonth();
rok = datum.getFullYear();
if (mesic>2) {
pr = 1;
} else {
pr = 0;
}
if (mesic<=7) {
dnes = (mesic-1)*30+den-pr+int(mesic/2);
} else {
dnes = (mesic-8)*30+den+213+int((mesic-7)/2);
}
zitra = dnes+1;
if (dnes==59 and rok%4<>0) {
zitra = dnes+2;
}
if (dnes==366) {
zitra = 1;
}
a = dn+“ „+den+“.“+mesic+“.“+rok;

V první části program vyhodnotí na základě funkce getDay o jaký den se jedná. V následujících řádcích zjistíme z datumu pořadové číslo dne v roce. Proměnné jsou indexovány od 1 do 366 a zahrnují v sobě i přestupný rok, resp. svátek 29.února. Na základě hodnot z datového souboru obdržíme svátek pro aktuální a následující den.

Do třetího políčka umístíme následující dva příkazy, které nám zajistí ohodnocení proměnných a zobrazení v dynamických proměnných na ploše.

b = eval(„d[„+dnes+“]“);
c = eval(„d[„+zitra+“]“);
gotoAndPlay (2);

Příkaz GotoandPlay nám zajistí neustálé načítání času. Tím máme vše připraveno a můžeme si spustit kontrolu animace klávesami (ctrl+Enter). Zdrojový soubor je možný stáhnout zde.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Mohlo by vás také zajímat

Nejnovější

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *