Macromedia FLASH 5 - preloader - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Odkud pochází fotografka Anne Erhard?

V dnešní soutěži hrajeme o:



Webdesign

Macromedia FLASH 5 - preloader

16. ledna 2001, 00.00 | Pokud umístíte na Internet nějakou objemnější animaci, která se nebude stíhat stahovat a zároveň přehrávat, pak je třeba umístit před animaci preloader. V dnešním příkladu si vysvětlíme, jak vytvořit velmi vyspělý preloader.

Pokud umístíte na Internet nějakou objemnější animaci, která se nebude stíhat stahovat a zároveň přehrávat, pak je třeba umístit před animaci preloader. V dnešním příkladu si vysvětlíme, jak vytvořit velmi vyspělý preloader s možností sledování, jaké množství dat je již staženo.

Principem tohoto příkladu je neustále se opakující smyčka, která pomocí funkce getbytesLoaded() kontroluje objem stažených dat a ukládá je do proměnné, která se dále zobrazuje v dynamickém textovém políčku.

Nyní si tedy ukážeme, jak takový preloader vyrobit. Budeme pracovat se dvěma scénami, přičemž v první scéně (preload) se bude nacházet vlastní preloader a v druhé (movie) samotný obsah animace. Otevřete si tedy nový soubor animace (CTRL+N), zadejte velikost scény 300 x 150 px (CTRL+M), nastavte počet snímků za vteřinu (Frame Rate) na 18 a vytvořte zde dvě scény (paletka Scene) - první nazvěte "preload" a druhou "movie".

Scéna preload bude obsahovat čtyři vrstvy (background, content, actions a labels) a pouze dva snímky. Ve vrstvě "background" se nachází pouze nápis, který není pro funkčnost preloaderu důležitý. Vrstva "content" již bude obsahovat důležité objekty - dvě dynamická textová pole, jejichž vytvoření si podrobně popíšeme.

První textové políčko bude zobrazovat, kolik procent animace je již staženo a bude tedy obsahovat maximálně 3 znaky pro čísla a znak procent "%". Vyberte tedy textový nástroj a do horní části scény vložte textové pole. V paletce "Text Options" zvolte "Dynamic Text", "Single Line" a jako název zadejte "stazeno". V paletce "Character" zadejte jako font "Arial CE" a velikost písma 20 bodů.

Druhé textové pole bude obsahovat větu ve znění "xx kB z xx kB staženo". Toto textové pole proto udělejte poněkud delší než to předchozí, velikost písma zvolte 13 bodů a jako název tohoto pole vložte "zprava". Všechna ostatní nastavení ponechte stejná jako u předchozího textového pole.

Nyní si vytvoříme bar, který se bude průběžně "naplňovat" podle toho, jak se bude animace stahovat. Tento bar je vlastně animace malého obdélníčku, která trvá 100 snímků a lze tak zobrazovat příslušný snímek odpovídající procentům již stažené animace. Do scény tedy nakreslete obdélník o maximální zamýšlené délce, tedy téměř od okraje k okraji. Tento obdélník šipkou označte a uložte (F8) jako symbol "bar" (Movie Clip). Přepněte se do editace tohoto objektu, označte obdélník šipkou a uložte jej jako symbol "linka" (Movie Clip). Do snímku 100 vložte klíčový snímek a ve snímku 1 zmenšete symbol "linka" na minimální velikost (pomocí paletky "Info"). Mezi snímky 1 a 100 vložte Motion Tweening (paletka Frame), přepněte se zpět do editace scény "preload" a pojmenujte tento objekt "bar" (paletka "Instance").

Všechny objekty již máme vytvořené, a proto nyní vložíme do animace záložky (Label), na které se budeme v akcích odkazovat. Do prvního snímku vrstvy "labels" ve scéně "preload" vložte záložku "load" a do prvního snímku vrstvy "labels" ve scéně "movie" vložte záložku "start".

Do vrstvy "actions" vložte dva klíčové snímky, které budou zajišťovat smyčku. Do prvního snímku vložte následující akce:

if (_root._framesloaded=_root._totalframes) {
gotoAndPlay ("movie", "start");
} else {
stazeno = math.floor((_root.getbytesLoaded()/_root.getbytestotal())*100) add "%";
bar.gotoandstop(stazeno);
loaded = math.floor(_root.getbytesloaded()/1000);
total = math.floor(_root.getbytestotal()/1000);
zprava = loaded add "Kb z " add total add "Kb staženo";
}

Na prvních dvou řádcích je vyjádřena podmínka, že pokud bude počet stažených snímků roven celkovému počtu snímků, animace okamžitě přejde na záložku "start" a začne se okamžitě přehrávat. Pokud tato podmínka není splněna, vykonají se akce na dalších řádcích. Je zde stanovena proměnná "stazeno", do které je uložena výsledná hodnota rovnice, ve které je množství stažených dat vyděleno celkovým množstvím stahovaných dat a vynásobeno číslem 100. Navíc je k tomu číslo přidán znak "%" a proměnná tak vyjadřuje, kolik procent animace je již staženo.

Na dalším řádku je akce, která zajistí animaci baru, který vyjadřuje, kolik procent již bylo staženo. Tato akce zajistí přechod na příslušný snímek, jehož číslo odpovídá hodnotě proměnné "stazeno".

Proměnné "loaded" a "total" vyjadřují množství již stažených dat, respektive celkové množství stahovaných dat a toto číslo je poděleno hodnotou 1000, abychom toto číslo dostali v Kb. Na posledním řádku je pak stanovena proměnná "zprava" do které je uložena věta, v níž se budou zobrazovat proměnné "loaded" a "total".

Tím je preloader prakticky hotov a vy si jej můžete otestovat. Pokud již nemáte vytvořenou nějakou objemnou animaci, vložte do scény "movie" obrázek například o velikosti 100 kB a stiskněte klávesy "CTRL+ENTER". Zde si můžete v menu "Debug" zvolit testovanou přenosovou rychlost a následným stiskem kláves "CTRL+ENTER" můžete tuto preloader otestovat. Pro bližší prozkoumání si jako vždy máte možnost stáhnout zdrojový FLA soubor.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Go verze  

 » Rubriky  » Webdesign  

 

 

 

Poptávka bazar

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: