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