Macromedia Flash

Výuka Flash (26.)

Úvodem  |  Výuka Flash |  Odkazy  |  Aplikace  |  Otázky a odpovědi

Doporučené postupy

V dnešním díle navážeme na doporučené postupy, které jsme si uvedli v díle minulém. V dnešním díle si ukážeme doporučené postupy v oblastech adresování (navigace) v klipech. Povíme si o doporučeném uspořádání kódu v časových osách a nakonec si ukážeme velikosti jednotlivých částí animací a SWF souborů podle údajů, které jsou k dispozici.


Odkazování - navigace

Podle standardu bychom se měli na všechny proměnné odkazovat platnou cestou. Ať již relativní nebo absolutní. Pouze proměnné, které slouží jako parametry funkcí nemusejí být uváděny celou cestou.

K odkazování bychom měli využít klíčových slov _parent a _this. Využívání _root se nedoporučuje z důvodu přenosnosti kódu. Pokud vytvoříme movie clip, který se bude relativně odkazovat na ostatní části, bude tento kód možné přesunout a bude stále fungovat.

Jako příklad si můžeme uvést odkazy na webových stránkách. Pokud bychom všude vyplňovali celé (absolutní) cesty a následně stránku přesunuli, stal by se odkaz neplatným. Podobné je to i v ActionScriptu.


// Využití relativního adresování.
_this.mojePromenna.blah = "test";

// Využití úplného adresování, které se nedoporučuje.
_root.mujKlip.mojePromenna.blah = "test";

V případě, že musíme použít absolutní adresování, tak si vytvoříme proměnnou, pomocí které se budeme odkazovat na hlavní časovou osu.


// Určení naší globální proměnné.
_global.mojeApp = this;

// Následně k odkazování využijeme.
_global.mojeApp.mojeFce ...

Rozdíl mezi _root a _global spočívá v tom, že _root je unikátní pro každý načtený klip. Kdežto _global je společný pro všechny klipy.


Uspořádání kódu

S příchodem nové verze Flashe a nového uspořádání tříd do samostatných souborů se situace trochu zjednodušila. Máme tak třídy na jednom přehledném místě. Stále však platí pravidlo, že bychom měli ostatní kód jako funkce umísťovat na jedno místo. Toto určitě pomůže přehlednosti kódu a také se nám v něm bude lépe vyhledávat, testovat a pracovat.

Nejčastějším a nejlepším místem je vložení kódu do prvního snímku. Vyjímka může nastat tehdy, když v prvním snímku bude umístěn preloader, který nám vložení kódu neumožní. Pro klipy, které využívají preloader je nejlepší umístit kód do druhého snímku.

K zpřehlednění můžeme využít také příkazu #include, pomocí kterého můžeme vložit do ActionScriptu externí .as soubor s kódem.


// Vložíme externí soubor "kod.as".
#include "kod.as"

Výkonnost

V následující tabulce si ukážeme přibližnou velikost, kolik které částí SWF souboru zabírají.

Typ objektu Velikost
krátký text (7 znaků) 55 bajtů
číslo 22 bajtů
objekt (new Object()) 340 bajtů
prázdný movie clip 800 bajtů
funkce (x = function(){}) 700 bajtů
textové pole 9 500 bajtů

Nyní si ukážeme přibližnou velikost SWF souborů.

Typ SWF Velikost Poznámka
prázdný SWF soubor 250 000 bajtů Převážně předdefinované globální ActionScript objekty
prázdný SWF soubor s komponentami 750 000 bajtů Převážně SWF soubor a komponenty

V následující tabulce naleznete některé komponenty a jejich velikosti instance.

Komponenta Velikost
PushButton 60 000 bajtů
CheckBox 55 000 bajtů
Prázdný ListBox 490 000 bajtů

Využití paměti:

  • Text - Jednotlivé textové objekty využívají okolo 10 kB paměti. Jedná se především o dynamický text, statický text, textové pole, fonty apod.
  • Movie klipy - Každý movie clip využívá okolo 1 kB paměti.
  • Funkce - každý objekt využívající funkce zabere v přepočtu okolo 700 bajtů paměti.

Závěr

Pro tento díl to bude vše. V příštím díle budeme pokračovat v poznávání Flashe.

 

Petr Rympler